diff --git a/docs/dyn/accesscontextmanager_v1.accessPolicies.accessLevels.html b/docs/dyn/accesscontextmanager_v1.accessPolicies.accessLevels.html
index 46771be..610fa87 100644
--- a/docs/dyn/accesscontextmanager_v1.accessPolicies.accessLevels.html
+++ b/docs/dyn/accesscontextmanager_v1.accessPolicies.accessLevels.html
@@ -79,25 +79,28 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create an Access Level. The longrunning operation from this RPC will have a successful status once the Access Level has propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.</p>
+<p class="firstline">Creates an access level. The long-running operation from this RPC has a successful status after the access level propagates to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Delete an Access Level by resource name. The longrunning operation from this RPC will have a successful status once the Access Level has been removed from long-lasting storage.</p>
+<p class="firstline">Deletes an access level based on the resource name. The long-running operation from this RPC has a successful status after the access level has been removed from long-lasting storage.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, accessLevelFormat=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Get an Access Level by resource name.</p>
+<p class="firstline">Gets an access level based on the resource name.</p>
 <p class="toc_element">
   <code><a href="#list">list(parent, accessLevelFormat=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
-<p class="firstline">List all Access Levels for an access policy.</p>
+<p class="firstline">Lists all access levels for an access policy.</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">Update an Access Level. The longrunning operation from this RPC will have a successful status once the changes to the Access Level have propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.</p>
+<p class="firstline">Updates an access level. The long-running operation from this RPC has a successful status after the changes to the access level propagate to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered.</p>
 <p class="toc_element">
   <code><a href="#replaceAll">replaceAll(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically. The longrunning operation from this RPC will have a successful status once all replacements have propagated to long-lasting storage. Replacements containing errors will result in an error response for the first error encountered. Replacement will be cancelled on error, existing Access Levels will not be affected. Operation.response field will contain ReplaceAccessLevelsResponse. Removing Access Levels contained in existing Service Perimeters will result in error.</p>
+<p class="firstline">Replaces all existing access levels in an access policy with the access levels provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. If the replacement contains errors, an error response is returned for the first error encountered. Upon error, the replacement is cancelled, and existing access levels are not affected. The Operation.response field contains ReplaceAccessLevelsResponse. Removing access levels contained in existing service perimeters result in an error.</p>
+<p class="toc_element">
+  <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -106,7 +109,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Create an Access Level. The longrunning operation from this RPC will have a successful status once the Access Level has propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.
+  <pre>Creates an access level. The long-running operation from this RPC has a successful status after the access level propagates to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered.
 
 Args:
   parent: string, Required. Resource name for the access policy which owns this Access Level. Format: `accessPolicies/{policy_id}` (required)
@@ -196,7 +199,7 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
-  <pre>Delete an Access Level by resource name. The longrunning operation from this RPC will have a successful status once the Access Level has been removed from long-lasting storage.
+  <pre>Deletes an access level based on the resource name. The long-running operation from this RPC has a successful status after the access level has been removed from long-lasting storage.
 
 Args:
   name: string, Required. Resource name for the Access Level. Format: `accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
@@ -231,7 +234,7 @@
 
 <div class="method">
     <code class="details" id="get">get(name, accessLevelFormat=None, x__xgafv=None)</code>
-  <pre>Get an Access Level by resource name.
+  <pre>Gets an access level based on the resource name.
 
 Args:
   name: string, Required. Resource name for the Access Level. Format: `accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
@@ -303,7 +306,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, accessLevelFormat=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>List all Access Levels for an access policy.
+  <pre>Lists all access levels for an access policy.
 
 Args:
   parent: string, Required. Resource name for the access policy to list Access Levels from. Format: `accessPolicies/{policy_id}` (required)
@@ -396,7 +399,7 @@
 
 <div class="method">
     <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
-  <pre>Update an Access Level. The longrunning operation from this RPC will have a successful status once the changes to the Access Level have propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.
+  <pre>Updates an access level. The long-running operation from this RPC has a successful status after the changes to the access level propagate to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered.
 
 Args:
   name: string, Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters. (required)
@@ -487,7 +490,7 @@
 
 <div class="method">
     <code class="details" id="replaceAll">replaceAll(parent, body=None, x__xgafv=None)</code>
-  <pre>Replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically. The longrunning operation from this RPC will have a successful status once all replacements have propagated to long-lasting storage. Replacements containing errors will result in an error response for the first error encountered. Replacement will be cancelled on error, existing Access Levels will not be affected. Operation.response field will contain ReplaceAccessLevelsResponse. Removing Access Levels contained in existing Service Perimeters will result in error.
+  <pre>Replaces all existing access levels in an access policy with the access levels provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. If the replacement contains errors, an error response is returned for the first error encountered. Upon error, the replacement is cancelled, and existing access levels are not affected. The Operation.response field contains ReplaceAccessLevelsResponse. Removing access levels contained in existing service perimeters result in an error.
 
 Args:
   parent: string, Required. Resource name for the access policy which owns these Access Levels. Format: `accessPolicies/{policy_id}` (required)
@@ -580,4 +583,34 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
+  <pre>Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+    &quot;A String&quot;,
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+    &quot;A String&quot;,
+  ],
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1.accessPolicies.html b/docs/dyn/accesscontextmanager_v1.accessPolicies.html
index 30ca577..c053f50 100644
--- a/docs/dyn/accesscontextmanager_v1.accessPolicies.html
+++ b/docs/dyn/accesscontextmanager_v1.accessPolicies.html
@@ -89,22 +89,31 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#create">create(body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create an `AccessPolicy`. Fails if this organization already has a `AccessPolicy`. The longrunning Operation will have a successful status once the `AccessPolicy` has propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.</p>
+<p class="firstline">Creates an access policy. This method fails if the organization already has an access policy. The long-running operation has a successful status after the access policy propagates to long-lasting storage. Syntactic and basic semantic errors are returned in `metadata` as a BadRequest proto.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Delete an AccessPolicy by resource name. The longrunning Operation will have a successful status once the AccessPolicy has been removed from long-lasting storage.</p>
+<p class="firstline">Deletes an access policy based on the resource name. The long-running operation has a successful status after the access policy is removed from long-lasting storage.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Get an AccessPolicy by name.</p>
+<p class="firstline">Returns an access policy based on the name.</p>
+<p class="toc_element">
+  <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the IAM policy for the specified Access Context Manager access policy.</p>
 <p class="toc_element">
   <code><a href="#list">list(pageSize=None, pageToken=None, parent=None, x__xgafv=None)</a></code></p>
-<p class="firstline">List all AccessPolicies under a container.</p>
+<p class="firstline">Lists all access policies in an organization.</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">Update an AccessPolicy. The longrunning Operation from this RPC will have a successful status once the changes to the AccessPolicy have propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.</p>
+<p class="firstline">Updates an access policy. The long-running operation from this RPC has a successful status after the changes to the access policy propagate to long-lasting storage.</p>
+<p class="toc_element">
+  <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the IAM policy for the specified Access Context Manager access policy. This method replaces the existing IAM policy on the access policy. The IAM policy controls the set of users who can perform specific operations on the Access Context Manager access policy.</p>
+<p class="toc_element">
+  <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -113,7 +122,7 @@
 
 <div class="method">
     <code class="details" id="create">create(body=None, x__xgafv=None)</code>
-  <pre>Create an `AccessPolicy`. Fails if this organization already has a `AccessPolicy`. The longrunning Operation will have a successful status once the `AccessPolicy` has propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.
+  <pre>Creates an access policy. This method fails if the organization already has an access policy. The long-running operation has a successful status after the access policy propagates to long-lasting storage. Syntactic and basic semantic errors are returned in `metadata` as a BadRequest proto.
 
 Args:
   body: object, The request body.
@@ -123,6 +132,9 @@
   &quot;etag&quot;: &quot;A String&quot;, # Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`
   &quot;parent&quot;: &quot;A String&quot;, # Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`
+  &quot;scopes&quot;: [ # The scopes of a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[&quot;folders/123&quot;] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes &quot;folders/123&quot; will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`
+    &quot;A String&quot;,
+  ],
   &quot;title&quot;: &quot;A String&quot;, # Required. Human readable title. Does not affect behavior.
 }
 
@@ -157,7 +169,7 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
-  <pre>Delete an AccessPolicy by resource name. The longrunning Operation will have a successful status once the AccessPolicy has been removed from long-lasting storage.
+  <pre>Deletes an access policy based on the resource name. The long-running operation has a successful status after the access policy is removed from long-lasting storage.
 
 Args:
   name: string, Required. Resource name for the access policy to delete. Format `accessPolicies/{policy_id}` (required)
@@ -192,7 +204,7 @@
 
 <div class="method">
     <code class="details" id="get">get(name, x__xgafv=None)</code>
-  <pre>Get an AccessPolicy by name.
+  <pre>Returns an access policy based on the name.
 
 Args:
   name: string, Required. Resource name for the access policy to get. Format `accessPolicies/{policy_id}` (required)
@@ -208,13 +220,72 @@
   &quot;etag&quot;: &quot;A String&quot;, # Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`
   &quot;parent&quot;: &quot;A String&quot;, # Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`
+  &quot;scopes&quot;: [ # The scopes of a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[&quot;folders/123&quot;] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes &quot;folders/123&quot; will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`
+    &quot;A String&quot;,
+  ],
   &quot;title&quot;: &quot;A String&quot;, # Required. Human readable title. Does not affect behavior.
 }</pre>
 </div>
 
 <div class="method">
+    <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
+  <pre>Gets the IAM policy for the specified Access Context Manager access policy.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `GetIamPolicy` method.
+  &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+  &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+    { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+      &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+        { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+          &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+            &quot;A String&quot;,
+          ],
+          &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+        },
+      ],
+      &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+    },
+  ],
+  &quot;bindings&quot;: [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+    { # Associates `members`, or principals, with a `role`.
+      &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+        &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      &quot;members&quot;: [ # Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+        &quot;A String&quot;,
+      ],
+      &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+    },
+  ],
+  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+  &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(pageSize=None, pageToken=None, parent=None, x__xgafv=None)</code>
-  <pre>List all AccessPolicies under a container.
+  <pre>Lists all access policies in an organization.
 
 Args:
   pageSize: integer, Number of AccessPolicy instances to include in the list. Default 100.
@@ -234,6 +305,9 @@
       &quot;etag&quot;: &quot;A String&quot;, # Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.
       &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`
       &quot;parent&quot;: &quot;A String&quot;, # Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`
+      &quot;scopes&quot;: [ # The scopes of a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[&quot;folders/123&quot;] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes &quot;folders/123&quot; will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`
+        &quot;A String&quot;,
+      ],
       &quot;title&quot;: &quot;A String&quot;, # Required. Human readable title. Does not affect behavior.
     },
   ],
@@ -257,7 +331,7 @@
 
 <div class="method">
     <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
-  <pre>Update an AccessPolicy. The longrunning Operation from this RPC will have a successful status once the changes to the AccessPolicy have propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.
+  <pre>Updates an access policy. The long-running operation from this RPC has a successful status after the changes to the access policy propagate to long-lasting storage.
 
 Args:
   name: string, Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}` (required)
@@ -268,6 +342,9 @@
   &quot;etag&quot;: &quot;A String&quot;, # Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`
   &quot;parent&quot;: &quot;A String&quot;, # Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`
+  &quot;scopes&quot;: [ # The scopes of a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[&quot;folders/123&quot;] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes &quot;folders/123&quot; will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`
+    &quot;A String&quot;,
+  ],
   &quot;title&quot;: &quot;A String&quot;, # Required. Human readable title. Does not affect behavior.
 }
 
@@ -301,4 +378,119 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
+  <pre>Sets the IAM policy for the specified Access Context Manager access policy. This method replaces the existing IAM policy on the access policy. The IAM policy controls the set of users who can perform specific operations on the Access Context Manager access policy.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `SetIamPolicy` method.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+    &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+      { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+        &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+          { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+            &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+              &quot;A String&quot;,
+            ],
+            &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+          },
+        ],
+        &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+      },
+    ],
+    &quot;bindings&quot;: [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+      { # Associates `members`, or principals, with a `role`.
+        &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+        },
+        &quot;members&quot;: [ # Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+          &quot;A String&quot;,
+        ],
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+      },
+    ],
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+    &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  },
+  &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: &quot;bindings, etag&quot;`
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+  &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+    { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+      &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+        { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+          &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+            &quot;A String&quot;,
+          ],
+          &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+        },
+      ],
+      &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+    },
+  ],
+  &quot;bindings&quot;: [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+    { # Associates `members`, or principals, with a `role`.
+      &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+        &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      &quot;members&quot;: [ # Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+        &quot;A String&quot;,
+      ],
+      &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+    },
+  ],
+  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+  &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
+  <pre>Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+    &quot;A String&quot;,
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+    &quot;A String&quot;,
+  ],
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1.accessPolicies.servicePerimeters.html b/docs/dyn/accesscontextmanager_v1.accessPolicies.servicePerimeters.html
index e8b7f14..bab500a 100644
--- a/docs/dyn/accesscontextmanager_v1.accessPolicies.servicePerimeters.html
+++ b/docs/dyn/accesscontextmanager_v1.accessPolicies.servicePerimeters.html
@@ -79,28 +79,31 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#commit">commit(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Commit the dry-run spec for all the Service Perimeters in an Access Policy. A commit operation on a Service Perimeter involves copying its `spec` field to that Service Perimeter's `status` field. Only Service Perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The longrunning operation from this RPC will have a successful status once the dry-run specs for all the Service Perimeters have been committed. If a commit fails, it will cause the longrunning operation to return an error response and the entire commit operation will be cancelled. When successful, Operation.response field will contain CommitServicePerimetersResponse. The `dry_run` and the `spec` fields will be cleared after a successful commit operation.</p>
+<p class="firstline">Commits the dry-run specification for all the service perimeters in an access policy. A commit operation on a service perimeter involves copying its `spec` field to the `status` field of the service perimeter. Only service perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The long-running operation from this RPC has a successful status after the dry-run specifications for all the service perimeters have been committed. If a commit fails, it causes the long-running operation to return an error response and the entire commit operation is cancelled. When successful, the Operation.response field contains CommitServicePerimetersResponse. The `dry_run` and the `spec` fields are cleared after a successful commit operation.</p>
 <p class="toc_element">
   <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create a Service Perimeter. The longrunning operation from this RPC will have a successful status once the Service Perimeter has propagated to long-lasting storage. Service Perimeters containing errors will result in an error response for the first error encountered.</p>
+<p class="firstline">Creates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Delete a Service Perimeter by resource name. The longrunning operation from this RPC will have a successful status once the Service Perimeter has been removed from long-lasting storage.</p>
+<p class="firstline">Deletes a service perimeter based on the resource name. The long-running operation from this RPC has a successful status after the service perimeter is removed from long-lasting storage.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Get a Service Perimeter by resource name.</p>
+<p class="firstline">Gets a service perimeter based on the resource 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">List all Service Perimeters for an access policy.</p>
+<p class="firstline">Lists all service perimeters for an access policy.</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">Update a Service Perimeter. The longrunning operation from this RPC will have a successful status once the changes to the Service Perimeter have propagated to long-lasting storage. Service Perimeter containing errors will result in an error response for the first error encountered.</p>
+<p class="firstline">Updates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered.</p>
 <p class="toc_element">
   <code><a href="#replaceAll">replaceAll(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Replace all existing Service Perimeters in an Access Policy with the Service Perimeters provided. This is done atomically. The longrunning operation from this RPC will have a successful status once all replacements have propagated to long-lasting storage. Replacements containing errors will result in an error response for the first error encountered. Replacement will be cancelled on error, existing Service Perimeters will not be affected. Operation.response field will contain ReplaceServicePerimetersResponse.</p>
+<p class="firstline">Replace all existing service perimeters in an access policy with the service perimeters provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. Replacements containing errors result in an error response for the first error encountered. Upon an error, replacement are cancelled and existing service perimeters are not affected. The Operation.response field contains ReplaceServicePerimetersResponse.</p>
+<p class="toc_element">
+  <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -109,7 +112,7 @@
 
 <div class="method">
     <code class="details" id="commit">commit(parent, body=None, x__xgafv=None)</code>
-  <pre>Commit the dry-run spec for all the Service Perimeters in an Access Policy. A commit operation on a Service Perimeter involves copying its `spec` field to that Service Perimeter&#x27;s `status` field. Only Service Perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The longrunning operation from this RPC will have a successful status once the dry-run specs for all the Service Perimeters have been committed. If a commit fails, it will cause the longrunning operation to return an error response and the entire commit operation will be cancelled. When successful, Operation.response field will contain CommitServicePerimetersResponse. The `dry_run` and the `spec` fields will be cleared after a successful commit operation.
+  <pre>Commits the dry-run specification for all the service perimeters in an access policy. A commit operation on a service perimeter involves copying its `spec` field to the `status` field of the service perimeter. Only service perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The long-running operation from this RPC has a successful status after the dry-run specifications for all the service perimeters have been committed. If a commit fails, it causes the long-running operation to return an error response and the entire commit operation is cancelled. When successful, the Operation.response field contains CommitServicePerimetersResponse. The `dry_run` and the `spec` fields are cleared after a successful commit operation.
 
 Args:
   parent: string, Required. Resource name for the parent Access Policy which owns all Service Perimeters in scope for the commit operation. Format: `accessPolicies/{policy_id}` (required)
@@ -151,7 +154,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Create a Service Perimeter. The longrunning operation from this RPC will have a successful status once the Service Perimeter has propagated to long-lasting storage. Service Perimeters containing errors will result in an error response for the first error encountered.
+  <pre>Creates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered.
 
 Args:
   parent: string, Required. Resource name for the access policy which owns this Service Perimeter. Format: `accessPolicies/{policy_id}` (required)
@@ -347,7 +350,7 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
-  <pre>Delete a Service Perimeter by resource name. The longrunning operation from this RPC will have a successful status once the Service Perimeter has been removed from long-lasting storage.
+  <pre>Deletes a service perimeter based on the resource name. The long-running operation from this RPC has a successful status after the service perimeter is removed from long-lasting storage.
 
 Args:
   name: string, Required. Resource name for the Service Perimeter. Format: `accessPolicies/{policy_id}/servicePerimeters/{service_perimeter_id}` (required)
@@ -382,7 +385,7 @@
 
 <div class="method">
     <code class="details" id="get">get(name, x__xgafv=None)</code>
-  <pre>Get a Service Perimeter by resource name.
+  <pre>Gets a service perimeter based on the resource name.
 
 Args:
   name: string, Required. Resource name for the Service Perimeter. Format: `accessPolicies/{policy_id}/servicePerimeters/{service_perimeters_id}` (required)
@@ -555,7 +558,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>List all Service Perimeters for an access policy.
+  <pre>Lists all service perimeters for an access policy.
 
 Args:
   parent: string, Required. Resource name for the access policy to list Service Perimeters from. Format: `accessPolicies/{policy_id}` (required)
@@ -749,7 +752,7 @@
 
 <div class="method">
     <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
-  <pre>Update a Service Perimeter. The longrunning operation from this RPC will have a successful status once the changes to the Service Perimeter have propagated to long-lasting storage. Service Perimeter containing errors will result in an error response for the first error encountered.
+  <pre>Updates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered.
 
 Args:
   name: string, Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}` (required)
@@ -946,7 +949,7 @@
 
 <div class="method">
     <code class="details" id="replaceAll">replaceAll(parent, body=None, x__xgafv=None)</code>
-  <pre>Replace all existing Service Perimeters in an Access Policy with the Service Perimeters provided. This is done atomically. The longrunning operation from this RPC will have a successful status once all replacements have propagated to long-lasting storage. Replacements containing errors will result in an error response for the first error encountered. Replacement will be cancelled on error, existing Service Perimeters will not be affected. Operation.response field will contain ReplaceServicePerimetersResponse.
+  <pre>Replace all existing service perimeters in an access policy with the service perimeters provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. Replacements containing errors result in an error response for the first error encountered. Upon an error, replacement are cancelled and existing service perimeters are not affected. The Operation.response field contains ReplaceServicePerimetersResponse.
 
 Args:
   parent: string, Required. Resource name for the access policy which owns these Service Perimeters. Format: `accessPolicies/{policy_id}` (required)
@@ -1145,4 +1148,34 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
+  <pre>Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+    &quot;A String&quot;,
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+    &quot;A String&quot;,
+  ],
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1.organizations.gcpUserAccessBindings.html b/docs/dyn/accesscontextmanager_v1.organizations.gcpUserAccessBindings.html
index 73addb6..7ed46a2 100644
--- a/docs/dyn/accesscontextmanager_v1.organizations.gcpUserAccessBindings.html
+++ b/docs/dyn/accesscontextmanager_v1.organizations.gcpUserAccessBindings.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 GcpUserAccessBinding. If the client specifies a name, the server will ignore it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time.</p>
+<p class="firstline">Creates a GcpUserAccessBinding. If the client specifies a name, the server ignores it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a GcpUserAccessBinding. Completion of this long-running operation does not necessarily signify that the binding deletion is deployed onto all affected users, which may take more time.</p>
@@ -103,7 +103,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Creates a GcpUserAccessBinding. If the client specifies a name, the server will ignore it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time.
+  <pre>Creates a GcpUserAccessBinding. If the client specifies a name, the server ignores it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time.
 
 Args:
   parent: string, Required. Example: &quot;organizations/256&quot; (required)
diff --git a/docs/dyn/admin_directory_v1.chromeosdevices.html b/docs/dyn/admin_directory_v1.chromeosdevices.html
index 88bcdb1..d7b6998 100644
--- a/docs/dyn/admin_directory_v1.chromeosdevices.html
+++ b/docs/dyn/admin_directory_v1.chromeosdevices.html
@@ -231,6 +231,7 @@
   &quot;model&quot;: &quot;A String&quot;, # The device&#x27;s model information. If the device does not have this information, this property is not included in the response.
   &quot;notes&quot;: &quot;A String&quot;, # Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method&#x27;s `query` parameter. Maximum length is 500 characters. Empty values are allowed.
   &quot;orderNumber&quot;: &quot;A String&quot;, # The device&#x27;s order number. Only devices directly purchased from Google have an order number.
+  &quot;orgUnitId&quot;: &quot;A String&quot;, # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API, and this will be supported in the future.
   &quot;orgUnitPath&quot;: &quot;A String&quot;, # The full parent path with the organizational unit&#x27;s name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).
   &quot;osVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s operating system version.
   &quot;platformVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s platform version.
@@ -396,6 +397,7 @@
       &quot;model&quot;: &quot;A String&quot;, # The device&#x27;s model information. If the device does not have this information, this property is not included in the response.
       &quot;notes&quot;: &quot;A String&quot;, # Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method&#x27;s `query` parameter. Maximum length is 500 characters. Empty values are allowed.
       &quot;orderNumber&quot;: &quot;A String&quot;, # The device&#x27;s order number. Only devices directly purchased from Google have an order number.
+      &quot;orgUnitId&quot;: &quot;A String&quot;, # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API, and this will be supported in the future.
       &quot;orgUnitPath&quot;: &quot;A String&quot;, # The full parent path with the organizational unit&#x27;s name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).
       &quot;osVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s operating system version.
       &quot;platformVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s platform version.
@@ -575,6 +577,7 @@
   &quot;model&quot;: &quot;A String&quot;, # The device&#x27;s model information. If the device does not have this information, this property is not included in the response.
   &quot;notes&quot;: &quot;A String&quot;, # Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method&#x27;s `query` parameter. Maximum length is 500 characters. Empty values are allowed.
   &quot;orderNumber&quot;: &quot;A String&quot;, # The device&#x27;s order number. Only devices directly purchased from Google have an order number.
+  &quot;orgUnitId&quot;: &quot;A String&quot;, # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API, and this will be supported in the future.
   &quot;orgUnitPath&quot;: &quot;A String&quot;, # The full parent path with the organizational unit&#x27;s name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).
   &quot;osVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s operating system version.
   &quot;platformVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s platform version.
@@ -713,6 +716,7 @@
   &quot;model&quot;: &quot;A String&quot;, # The device&#x27;s model information. If the device does not have this information, this property is not included in the response.
   &quot;notes&quot;: &quot;A String&quot;, # Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method&#x27;s `query` parameter. Maximum length is 500 characters. Empty values are allowed.
   &quot;orderNumber&quot;: &quot;A String&quot;, # The device&#x27;s order number. Only devices directly purchased from Google have an order number.
+  &quot;orgUnitId&quot;: &quot;A String&quot;, # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API, and this will be supported in the future.
   &quot;orgUnitPath&quot;: &quot;A String&quot;, # The full parent path with the organizational unit&#x27;s name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).
   &quot;osVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s operating system version.
   &quot;platformVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s platform version.
@@ -850,6 +854,7 @@
   &quot;model&quot;: &quot;A String&quot;, # The device&#x27;s model information. If the device does not have this information, this property is not included in the response.
   &quot;notes&quot;: &quot;A String&quot;, # Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method&#x27;s `query` parameter. Maximum length is 500 characters. Empty values are allowed.
   &quot;orderNumber&quot;: &quot;A String&quot;, # The device&#x27;s order number. Only devices directly purchased from Google have an order number.
+  &quot;orgUnitId&quot;: &quot;A String&quot;, # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API, and this will be supported in the future.
   &quot;orgUnitPath&quot;: &quot;A String&quot;, # The full parent path with the organizational unit&#x27;s name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).
   &quot;osVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s operating system version.
   &quot;platformVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s platform version.
@@ -988,6 +993,7 @@
   &quot;model&quot;: &quot;A String&quot;, # The device&#x27;s model information. If the device does not have this information, this property is not included in the response.
   &quot;notes&quot;: &quot;A String&quot;, # Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method&#x27;s `query` parameter. Maximum length is 500 characters. Empty values are allowed.
   &quot;orderNumber&quot;: &quot;A String&quot;, # The device&#x27;s order number. Only devices directly purchased from Google have an order number.
+  &quot;orgUnitId&quot;: &quot;A String&quot;, # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API, and this will be supported in the future.
   &quot;orgUnitPath&quot;: &quot;A String&quot;, # The full parent path with the organizational unit&#x27;s name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).
   &quot;osVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s operating system version.
   &quot;platformVersion&quot;: &quot;A String&quot;, # The Chrome device&#x27;s platform version.
diff --git a/docs/dyn/admin_reports_v1.activities.html b/docs/dyn/admin_reports_v1.activities.html
index a6dff84..1717020 100644
--- a/docs/dyn/admin_reports_v1.activities.html
+++ b/docs/dyn/admin_reports_v1.activities.html
@@ -112,9 +112,9 @@
       jamboard - The Jamboard activity reports return information about various Jamboard activity events.
       login - The Login application&#x27;s activity reports return account information about different types of Login activity events.
       meet - The Meet Audit activity report returns information about different types of Meet Audit activity events.
-      mobile - The Mobile Audit activity report return information about different types of Mobile Audit activity events.
-      rules - The Rules activity report return information about different types of Rules activity events.
-      saml - The SAML activity report return information about different types of SAML activity events.
+      mobile - The Device Audit activity report returns information about different types of Device Audit activity events.
+      rules - The Rules activity report returns information about different types of Rules activity events.
+      saml - The SAML activity report returns information about different types of SAML activity events.
       token - The Token application&#x27;s activity reports return account information about different types of Token activity events.
       user_accounts - The User Accounts application&#x27;s activity reports return account information about different types of User Accounts activity events.
       context_aware_access - The Context-aware access activity reports return information about users&#x27; access denied events due to Context-aware access rules.
@@ -260,9 +260,9 @@
       jamboard - The Jamboard activity reports return information about various Jamboard activity events.
       login - The Login application&#x27;s activity reports return account information about different types of Login activity events.
       meet - The Meet Audit activity report returns information about different types of Meet Audit activity events.
-      mobile - The Mobile Audit activity report return information about different types of Mobile Audit activity events.
-      rules - The Rules activity report return information about different types of Rules activity events.
-      saml - The SAML activity report return information about different types of SAML activity events.
+      mobile - The Device Audit activity report returns information about different types of Device Audit activity events.
+      rules - The Rules activity report returns information about different types of Rules activity events.
+      saml - The SAML activity report returns information about different types of SAML activity events.
       token - The Token application&#x27;s activity reports return account information about different types of Token activity events.
       user_accounts - The User Accounts application&#x27;s activity reports return account information about different types of User Accounts activity events.
       context_aware_access - The Context-aware access activity reports return information about users&#x27; access denied events due to Context-aware access rules.
diff --git a/docs/dyn/admin_reports_v1.entityUsageReports.html b/docs/dyn/admin_reports_v1.entityUsageReports.html
index fdb12bd..4889989 100644
--- a/docs/dyn/admin_reports_v1.entityUsageReports.html
+++ b/docs/dyn/admin_reports_v1.entityUsageReports.html
@@ -97,10 +97,7 @@
   entityType: string, Represents the type of entity for the report. (required)
     Allowed values
       gplus_communities - Returns a report on Google+ communities.
-  entityKey: string, Represents the key of the object to filter the data with. (required)
-    Allowed values
-      all - Returns activity events for all users.
-      entityKey - Represents an app-specific identifier for the entity. For details on how to obtain the `entityKey` for a particular `entityType`, see the Entities Usage parameters reference guides.
+  entityKey: string, Represents the key of the object to filter the data with. It is a string which can take the value `all` to get activity events for all users, or any other value for an app-specific entity. For details on how to obtain the `entityKey` for a particular `entityType`, see the Entities Usage parameters reference guides. (required)
   date: string, Represents the date the usage occurred. The timestamp is in the ISO 8601 format, yyyy-mm-dd. We recommend you use your account&#x27;s time zone for this. (required)
   customerId: string, The unique ID of the customer to retrieve data for.
   filters: string, The `filters` query string is a comma-separated list of an application&#x27;s event parameters where the parameter&#x27;s value is manipulated by a relational operator. The `filters` query string includes the name of the application whose usage is returned in the report. The application values for the Entities usage report include `accounts`, `docs`, and `gmail`. Filters are in the form `[application name]:parameter name[parameter value],...`. In this example, the `&lt;&gt;` &#x27;not equal to&#x27; operator is URL-encoded in the request&#x27;s query string (%3C%3E): GET https://www.googleapis.com/admin/reports/v1/usage/gplus_communities/all/dates/2017-12-01 ?parameters=gplus:community_name,gplus:num_total_members &amp;filters=gplus:num_total_members%3C%3E0 The relational operators include: - `==` - &#x27;equal to&#x27;. - `&lt;&gt;` - &#x27;not equal to&#x27;. It is URL-encoded (%3C%3E). - `&lt;` - &#x27;less than&#x27;. It is URL-encoded (%3C). - `&lt;=` - &#x27;less than or equal to&#x27;. It is URL-encoded (%3C=). - `&gt;` - &#x27;greater than&#x27;. It is URL-encoded (%3E). - `&gt;=` - &#x27;greater than or equal to&#x27;. It is URL-encoded (%3E=). Filters can only be applied to numeric parameters.
diff --git a/docs/dyn/analyticsadmin_v1alpha.accounts.html b/docs/dyn/analyticsadmin_v1alpha.accounts.html
index 05b10f1..04257e2 100644
--- a/docs/dyn/analyticsadmin_v1alpha.accounts.html
+++ b/docs/dyn/analyticsadmin_v1alpha.accounts.html
@@ -377,6 +377,9 @@
               &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. The type for the custom metric&#x27;s value.
               &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
               &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+              &quot;restrictedMetricType&quot;: [ # Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.
+                &quot;A String&quot;,
+              ],
               &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
             },
             &quot;dataRetentionSettings&quot;: { # Settings values for data retention. This is a singleton resource. # A snapshot of a data retention settings resource in change history.
@@ -500,6 +503,9 @@
               &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. The type for the custom metric&#x27;s value.
               &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
               &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+              &quot;restrictedMetricType&quot;: [ # Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.
+                &quot;A String&quot;,
+              ],
               &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
             },
             &quot;dataRetentionSettings&quot;: { # Settings values for data retention. This is a singleton resource. # A snapshot of a data retention settings resource in change history.
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.customMetrics.html b/docs/dyn/analyticsadmin_v1alpha.properties.customMetrics.html
index 0424452..5a937b2 100644
--- a/docs/dyn/analyticsadmin_v1alpha.properties.customMetrics.html
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.customMetrics.html
@@ -140,6 +140,9 @@
   &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. The type for the custom metric&#x27;s value.
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
   &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;restrictedMetricType&quot;: [ # Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.
+    &quot;A String&quot;,
+  ],
   &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
 }
 
@@ -157,6 +160,9 @@
   &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. The type for the custom metric&#x27;s value.
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
   &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;restrictedMetricType&quot;: [ # Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.
+    &quot;A String&quot;,
+  ],
   &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
 }</pre>
 </div>
@@ -181,6 +187,9 @@
   &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. The type for the custom metric&#x27;s value.
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
   &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;restrictedMetricType&quot;: [ # Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.
+    &quot;A String&quot;,
+  ],
   &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
 }</pre>
 </div>
@@ -209,6 +218,9 @@
       &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. The type for the custom metric&#x27;s value.
       &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
       &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+      &quot;restrictedMetricType&quot;: [ # Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.
+        &quot;A String&quot;,
+      ],
       &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
     },
   ],
@@ -245,6 +257,9 @@
   &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. The type for the custom metric&#x27;s value.
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
   &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;restrictedMetricType&quot;: [ # Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.
+    &quot;A String&quot;,
+  ],
   &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
 }
 
@@ -263,6 +278,9 @@
   &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. The type for the custom metric&#x27;s value.
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
   &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;restrictedMetricType&quot;: [ # Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.
+    &quot;A String&quot;,
+  ],
   &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
 }</pre>
 </div>
diff --git a/docs/dyn/analyticsdata_v1beta.properties.html b/docs/dyn/analyticsdata_v1beta.properties.html
index eb7b49c..a33ac00 100644
--- a/docs/dyn/analyticsdata_v1beta.properties.html
+++ b/docs/dyn/analyticsdata_v1beta.properties.html
@@ -146,7 +146,7 @@
             # Object with schema name: FilterExpression
           ],
         },
-        &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+        &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
           &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
             &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
               &quot;doubleValue&quot;: 3.14, # Double value
@@ -185,7 +185,7 @@
         },
       },
       &quot;dimensions&quot;: [ # The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, dimension_filter, pivots, order_bys.
-        { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
+        { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
           &quot;dimensionExpression&quot;: { # Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2). # One dimension can be the result of an expression of multiple dimensions. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
             &quot;concatenate&quot;: { # Used to combine dimension values to a single dimension. # Used to combine dimension values to a single dimension. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
               &quot;delimiter&quot;: &quot;A String&quot;, # The delimiter placed between dimension names. Delimiters are often single characters such as &quot;|&quot; or &quot;,&quot; but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = &quot;US,FR&quot;, dimension 2 value = &quot;JP&quot;, and delimiter = &quot;,&quot;, then the response will contain &quot;US,FR,JP&quot;.
@@ -210,7 +210,7 @@
             # Object with schema name: FilterExpression
           ],
         },
-        &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+        &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
           &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
             &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
               &quot;doubleValue&quot;: 3.14, # Double value
@@ -450,7 +450,7 @@
             # Object with schema name: FilterExpression
           ],
         },
-        &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+        &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
           &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
             &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
               &quot;doubleValue&quot;: 3.14, # Double value
@@ -489,7 +489,7 @@
         },
       },
       &quot;dimensions&quot;: [ # The dimensions requested and displayed.
-        { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
+        { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
           &quot;dimensionExpression&quot;: { # Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2). # One dimension can be the result of an expression of multiple dimensions. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
             &quot;concatenate&quot;: { # Used to combine dimension values to a single dimension. # Used to combine dimension values to a single dimension. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
               &quot;delimiter&quot;: &quot;A String&quot;, # The delimiter placed between dimension names. Delimiters are often single characters such as &quot;|&quot; or &quot;,&quot; but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = &quot;US,FR&quot;, dimension 2 value = &quot;JP&quot;, and delimiter = &quot;,&quot;, then the response will contain &quot;US,FR,JP&quot;.
@@ -512,13 +512,13 @@
       &quot;metricAggregations&quot;: [ # Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to &quot;RESERVED_(MetricAggregation)&quot;.
         &quot;A String&quot;,
       ],
-      &quot;metricFilter&quot;: { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions cannot be used in this filter.
+      &quot;metricFilter&quot;: { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of metrics. Applied after aggregating the report&#x27;s rows, similar to SQL having-clause. Dimensions cannot be used in this filter.
         &quot;andGroup&quot;: { # A list of filter expressions. # The FilterExpressions in and_group have an AND relationship.
           &quot;expressions&quot;: [ # A list of filter expressions.
             # Object with schema name: FilterExpression
           ],
         },
-        &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+        &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
           &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
             &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
               &quot;doubleValue&quot;: 3.14, # Double value
@@ -732,7 +732,7 @@
         # Object with schema name: FilterExpression
       ],
     },
-    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
       &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
         &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
           &quot;doubleValue&quot;: 3.14, # Double value
@@ -771,7 +771,7 @@
     },
   },
   &quot;dimensions&quot;: [ # The dimensions in this report. `dimensions` should be the same value as in your `runReport` request.
-    { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
+    { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
       &quot;dimensionExpression&quot;: { # Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2). # One dimension can be the result of an expression of multiple dimensions. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
         &quot;concatenate&quot;: { # Used to combine dimension values to a single dimension. # Used to combine dimension values to a single dimension. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
           &quot;delimiter&quot;: &quot;A String&quot;, # The delimiter placed between dimension names. Delimiters are often single characters such as &quot;|&quot; or &quot;,&quot; but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = &quot;US,FR&quot;, dimension 2 value = &quot;JP&quot;, and delimiter = &quot;,&quot;, then the response will contain &quot;US,FR,JP&quot;.
@@ -795,7 +795,7 @@
         # Object with schema name: FilterExpression
       ],
     },
-    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
       &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
         &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
           &quot;doubleValue&quot;: 3.14, # Double value
@@ -987,7 +987,7 @@
         # Object with schema name: FilterExpression
       ],
     },
-    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
       &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
         &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
           &quot;doubleValue&quot;: 3.14, # Double value
@@ -1026,7 +1026,7 @@
     },
   },
   &quot;dimensions&quot;: [ # The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, dimension_filter, pivots, order_bys.
-    { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
+    { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
       &quot;dimensionExpression&quot;: { # Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2). # One dimension can be the result of an expression of multiple dimensions. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
         &quot;concatenate&quot;: { # Used to combine dimension values to a single dimension. # Used to combine dimension values to a single dimension. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
           &quot;delimiter&quot;: &quot;A String&quot;, # The delimiter placed between dimension names. Delimiters are often single characters such as &quot;|&quot; or &quot;,&quot; but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = &quot;US,FR&quot;, dimension 2 value = &quot;JP&quot;, and delimiter = &quot;,&quot;, then the response will contain &quot;US,FR,JP&quot;.
@@ -1051,7 +1051,7 @@
         # Object with schema name: FilterExpression
       ],
     },
-    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
       &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
         &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
           &quot;doubleValue&quot;: 3.14, # Double value
@@ -1253,7 +1253,7 @@
         # Object with schema name: FilterExpression
       ],
     },
-    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
       &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
         &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
           &quot;doubleValue&quot;: 3.14, # Double value
@@ -1292,7 +1292,7 @@
     },
   },
   &quot;dimensions&quot;: [ # The dimensions requested and displayed.
-    { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
+    { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
       &quot;dimensionExpression&quot;: { # Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2). # One dimension can be the result of an expression of multiple dimensions. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
         &quot;concatenate&quot;: { # Used to combine dimension values to a single dimension. # Used to combine dimension values to a single dimension. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
           &quot;delimiter&quot;: &quot;A String&quot;, # The delimiter placed between dimension names. Delimiters are often single characters such as &quot;|&quot; or &quot;,&quot; but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = &quot;US,FR&quot;, dimension 2 value = &quot;JP&quot;, and delimiter = &quot;,&quot;, then the response will contain &quot;US,FR,JP&quot;.
@@ -1320,7 +1320,7 @@
         # Object with schema name: FilterExpression
       ],
     },
-    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
       &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
         &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
           &quot;doubleValue&quot;: 3.14, # Double value
@@ -1544,7 +1544,7 @@
         # Object with schema name: FilterExpression
       ],
     },
-    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
       &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
         &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
           &quot;doubleValue&quot;: 3.14, # Double value
@@ -1583,7 +1583,7 @@
     },
   },
   &quot;dimensions&quot;: [ # The dimensions requested and displayed.
-    { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
+    { # Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be &quot;Paris&quot; or &quot;New York&quot;. Requests are allowed up to 9 dimensions.
       &quot;dimensionExpression&quot;: { # Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2). # One dimension can be the result of an expression of multiple dimensions. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
         &quot;concatenate&quot;: { # Used to combine dimension values to a single dimension. # Used to combine dimension values to a single dimension. For example, dimension &quot;country, city&quot;: concatenate(country, &quot;, &quot;, city).
           &quot;delimiter&quot;: &quot;A String&quot;, # The delimiter placed between dimension names. Delimiters are often single characters such as &quot;|&quot; or &quot;,&quot; but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = &quot;US,FR&quot;, dimension 2 value = &quot;JP&quot;, and delimiter = &quot;,&quot;, then the response will contain &quot;US,FR,JP&quot;.
@@ -1606,13 +1606,13 @@
   &quot;metricAggregations&quot;: [ # Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to &quot;RESERVED_(MetricAggregation)&quot;.
     &quot;A String&quot;,
   ],
-  &quot;metricFilter&quot;: { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions cannot be used in this filter.
+  &quot;metricFilter&quot;: { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of metrics. Applied after aggregating the report&#x27;s rows, similar to SQL having-clause. Dimensions cannot be used in this filter.
     &quot;andGroup&quot;: { # A list of filter expressions. # The FilterExpressions in and_group have an AND relationship.
       &quot;expressions&quot;: [ # A list of filter expressions.
         # Object with schema name: FilterExpression
       ],
     },
-    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics.
+    &quot;filter&quot;: { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter&#x27;s field names need to be either all dimensions or all metrics.
       &quot;betweenFilter&quot;: { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
         &quot;fromValue&quot;: { # To represent a number. # Begins with this number.
           &quot;doubleValue&quot;: 3.14, # Double value
diff --git a/docs/dyn/apigee_v1.organizations.developers.balance.html b/docs/dyn/apigee_v1.organizations.developers.balance.html
index 0d6c886..63a97f5 100644
--- a/docs/dyn/apigee_v1.organizations.developers.balance.html
+++ b/docs/dyn/apigee_v1.organizations.developers.balance.html
@@ -75,6 +75,9 @@
 <h1><a href="apigee_v1.html">Apigee API</a> . <a href="apigee_v1.organizations.html">organizations</a> . <a href="apigee_v1.organizations.developers.html">developers</a> . <a href="apigee_v1.organizations.developers.balance.html">balance</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#adjust">adjust(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Adjust the prepaid balance for the developer. This API will be used in scenarios where the developer has been under-charged or over-charged.</p>
+<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
@@ -82,6 +85,45 @@
 <p class="firstline">Credits the account balance for the developer.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="adjust">adjust(name, body=None, x__xgafv=None)</code>
+  <pre>Adjust the prepaid balance for the developer. This API will be used in scenarios where the developer has been under-charged or over-charged.
+
+Args:
+  name: string, Required. Account balance for the developer. Use the following structure in your request: `organizations/{org}/developers/{developer}/balance` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for AdjustDeveloperBalance.
+  &quot;adjustment&quot;: { # Represents an amount of money with its currency type. # * A positive value of `adjustment` means that that the API provider wishes to adjust the balance for an over-charged developer i.e. the balance of the developer will increase. * A negative value of `adjustment` means that that the API provider wishes to adjust the balance for an under-charged developer i.e. the balance of the developer will decrease.
+    &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Account balance for the developer.
+  &quot;wallets&quot;: [ # Output only. List of all wallets. Each individual wallet stores the account balance for a particular currency.
+    { # Wallet used to manage an account balance for a particular currency.
+      &quot;balance&quot;: { # Represents an amount of money with its currency type. # Current remaining balance of the developer for a particular currency.
+        &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+      },
+      &quot;lastCreditTime&quot;: &quot;A String&quot;, # Output only. Time at which the developer last added credit to the account in milliseconds since epoch.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="close">close()</code>
   <pre>Close httplib2 connections.</pre>
 </div>
diff --git a/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.html b/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.html
index e8b8c9e..2f8f04d 100644
--- a/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.html
+++ b/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.html
@@ -125,7 +125,7 @@
   <pre>Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository.
 
 Args:
-  parent: string, The name of the parent resource where the repository will be created. (required)
+  parent: string, Required. The name of the parent resource where the repository will be created. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -176,7 +176,7 @@
   <pre>Deletes a repository and all of its contents. The returned Operation will finish once the repository has been deleted. It will not have any Operation metadata and will return a google.protobuf.Empty response.
 
 Args:
-  name: string, The name of the repository to delete. (required)
+  name: string, Required. The name of the repository to delete. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -211,7 +211,7 @@
   <pre>Gets a repository.
 
 Args:
-  name: string, The name of the repository to retrieve. (required)
+  name: string, Required. The name of the repository to retrieve. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -273,7 +273,7 @@
   <pre>Lists repositories.
 
 Args:
-  parent: string, The name of the parent resource whose repositories will be listed. (required)
+  parent: string, Required. The name of the parent resource whose repositories will be listed. (required)
   pageSize: integer, The maximum number of repositories to return.
   pageToken: string, The next_page_token value returned from a previous list request, if any.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.packages.html b/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.packages.html
index 37f151d..b633656 100644
--- a/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.packages.html
+++ b/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.packages.html
@@ -110,7 +110,7 @@
   <pre>Deletes a package and all of its versions and tags. The returned operation will complete once the package has been deleted.
 
 Args:
-  name: string, The name of the package to delete. (required)
+  name: string, Required. The name of the package to delete. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -145,7 +145,7 @@
   <pre>Gets a package.
 
 Args:
-  name: string, The name of the package to retrieve. (required)
+  name: string, Required. The name of the package to retrieve. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -167,7 +167,7 @@
   <pre>Lists packages.
 
 Args:
-  parent: string, The name of the parent resource whose packages will be listed. (required)
+  parent: string, Required. The name of the parent resource whose packages will be listed. (required)
   pageSize: integer, The maximum number of packages to return.
   pageToken: string, The next_page_token value returned from a previous list request, if any.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.html b/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.html
index 2e84ee5..87b9cbe 100644
--- a/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.html
+++ b/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.html
@@ -115,7 +115,9 @@
   &quot;complianceRegime&quot;: &quot;A String&quot;, # Required. Immutable. Compliance Regime associated with this workload.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Immutable. The Workload creation timestamp.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
+  &quot;enableSovereignControls&quot;: True or False, # Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
   &quot;etag&quot;: &quot;A String&quot;, # Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update &amp; Delete operations.
+  &quot;kajEnrollmentState&quot;: &quot;A String&quot;, # Output only. Represents the KAJ enrollment state of the given workload.
   &quot;kmsSettings&quot;: { # Settings specific to the Key Management Service. # Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes.
     &quot;nextRotationTime&quot;: &quot;A String&quot;, # Required. Input only. Immutable. The time at which the Key Management Service will automatically create a new version of the crypto key and mark it as the primary.
     &quot;rotationPeriod&quot;: &quot;A String&quot;, # Required. Input only. Immutable. [next_rotation_time] will be advanced by this period when the Key Management Service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours.
@@ -138,6 +140,12 @@
       &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource.
     },
   ],
+  &quot;saaEnrollmentResponse&quot;: { # Signed Access Approvals (SAA) enrollment response. # Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.
+    &quot;setupErrors&quot;: [ # Indicates SAA enrollment setup error if any.
+      &quot;A String&quot;,
+    ],
+    &quot;setupStatus&quot;: &quot;A String&quot;, # Indicates SAA enrollment status of a given workload.
+  },
 }
 
   externalId: string, Optional. A identifier associated with the workload and underlying projects which allows for the break down of billing costs for a workload. The value provided for the identifier will add a label to the workload and contained projects with the identifier as the value.
@@ -208,7 +216,9 @@
   &quot;complianceRegime&quot;: &quot;A String&quot;, # Required. Immutable. Compliance Regime associated with this workload.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Immutable. The Workload creation timestamp.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
+  &quot;enableSovereignControls&quot;: True or False, # Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
   &quot;etag&quot;: &quot;A String&quot;, # Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update &amp; Delete operations.
+  &quot;kajEnrollmentState&quot;: &quot;A String&quot;, # Output only. Represents the KAJ enrollment state of the given workload.
   &quot;kmsSettings&quot;: { # Settings specific to the Key Management Service. # Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes.
     &quot;nextRotationTime&quot;: &quot;A String&quot;, # Required. Input only. Immutable. The time at which the Key Management Service will automatically create a new version of the crypto key and mark it as the primary.
     &quot;rotationPeriod&quot;: &quot;A String&quot;, # Required. Input only. Immutable. [next_rotation_time] will be advanced by this period when the Key Management Service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours.
@@ -231,6 +241,12 @@
       &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource.
     },
   ],
+  &quot;saaEnrollmentResponse&quot;: { # Signed Access Approvals (SAA) enrollment response. # Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.
+    &quot;setupErrors&quot;: [ # Indicates SAA enrollment setup error if any.
+      &quot;A String&quot;,
+    ],
+    &quot;setupStatus&quot;: &quot;A String&quot;, # Indicates SAA enrollment status of a given workload.
+  },
 }</pre>
 </div>
 
@@ -259,7 +275,9 @@
       &quot;complianceRegime&quot;: &quot;A String&quot;, # Required. Immutable. Compliance Regime associated with this workload.
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. Immutable. The Workload creation timestamp.
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
+      &quot;enableSovereignControls&quot;: True or False, # Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
       &quot;etag&quot;: &quot;A String&quot;, # Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update &amp; Delete operations.
+      &quot;kajEnrollmentState&quot;: &quot;A String&quot;, # Output only. Represents the KAJ enrollment state of the given workload.
       &quot;kmsSettings&quot;: { # Settings specific to the Key Management Service. # Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes.
         &quot;nextRotationTime&quot;: &quot;A String&quot;, # Required. Input only. Immutable. The time at which the Key Management Service will automatically create a new version of the crypto key and mark it as the primary.
         &quot;rotationPeriod&quot;: &quot;A String&quot;, # Required. Input only. Immutable. [next_rotation_time] will be advanced by this period when the Key Management Service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours.
@@ -282,6 +300,12 @@
           &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource.
         },
       ],
+      &quot;saaEnrollmentResponse&quot;: { # Signed Access Approvals (SAA) enrollment response. # Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.
+        &quot;setupErrors&quot;: [ # Indicates SAA enrollment setup error if any.
+          &quot;A String&quot;,
+        ],
+        &quot;setupStatus&quot;: &quot;A String&quot;, # Indicates SAA enrollment status of a given workload.
+      },
     },
   ],
 }</pre>
@@ -315,7 +339,9 @@
   &quot;complianceRegime&quot;: &quot;A String&quot;, # Required. Immutable. Compliance Regime associated with this workload.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Immutable. The Workload creation timestamp.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
+  &quot;enableSovereignControls&quot;: True or False, # Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
   &quot;etag&quot;: &quot;A String&quot;, # Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update &amp; Delete operations.
+  &quot;kajEnrollmentState&quot;: &quot;A String&quot;, # Output only. Represents the KAJ enrollment state of the given workload.
   &quot;kmsSettings&quot;: { # Settings specific to the Key Management Service. # Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes.
     &quot;nextRotationTime&quot;: &quot;A String&quot;, # Required. Input only. Immutable. The time at which the Key Management Service will automatically create a new version of the crypto key and mark it as the primary.
     &quot;rotationPeriod&quot;: &quot;A String&quot;, # Required. Input only. Immutable. [next_rotation_time] will be advanced by this period when the Key Management Service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours.
@@ -338,6 +364,12 @@
       &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource.
     },
   ],
+  &quot;saaEnrollmentResponse&quot;: { # Signed Access Approvals (SAA) enrollment response. # Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.
+    &quot;setupErrors&quot;: [ # Indicates SAA enrollment setup error if any.
+      &quot;A String&quot;,
+    ],
+    &quot;setupStatus&quot;: &quot;A String&quot;, # Indicates SAA enrollment status of a given workload.
+  },
 }
 
   updateMask: string, Required. The list of fields to be updated.
@@ -354,7 +386,9 @@
   &quot;complianceRegime&quot;: &quot;A String&quot;, # Required. Immutable. Compliance Regime associated with this workload.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Immutable. The Workload creation timestamp.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
+  &quot;enableSovereignControls&quot;: True or False, # Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
   &quot;etag&quot;: &quot;A String&quot;, # Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update &amp; Delete operations.
+  &quot;kajEnrollmentState&quot;: &quot;A String&quot;, # Output only. Represents the KAJ enrollment state of the given workload.
   &quot;kmsSettings&quot;: { # Settings specific to the Key Management Service. # Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes.
     &quot;nextRotationTime&quot;: &quot;A String&quot;, # Required. Input only. Immutable. The time at which the Key Management Service will automatically create a new version of the crypto key and mark it as the primary.
     &quot;rotationPeriod&quot;: &quot;A String&quot;, # Required. Input only. Immutable. [next_rotation_time] will be advanced by this period when the Key Management Service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours.
@@ -377,6 +411,12 @@
       &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource.
     },
   ],
+  &quot;saaEnrollmentResponse&quot;: { # Signed Access Approvals (SAA) enrollment response. # Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.
+    &quot;setupErrors&quot;: [ # Indicates SAA enrollment setup error if any.
+      &quot;A String&quot;,
+    ],
+    &quot;setupStatus&quot;: &quot;A String&quot;, # Indicates SAA enrollment status of a given workload.
+  },
 }</pre>
 </div>
 
diff --git a/docs/dyn/bigtableadmin_v2.projects.instances.clusters.backups.html b/docs/dyn/bigtableadmin_v2.projects.instances.clusters.backups.html
index 05c2e8e..5d72daf 100644
--- a/docs/dyn/bigtableadmin_v2.projects.instances.clusters.backups.html
+++ b/docs/dyn/bigtableadmin_v2.projects.instances.clusters.backups.html
@@ -239,7 +239,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/bigtableadmin_v2.projects.instances.clusters.html b/docs/dyn/bigtableadmin_v2.projects.instances.clusters.html
index 3257ff8..1ec8427 100644
--- a/docs/dyn/bigtableadmin_v2.projects.instances.clusters.html
+++ b/docs/dyn/bigtableadmin_v2.projects.instances.clusters.html
@@ -84,7 +84,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#create">create(parent, body=None, clusterId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Creates a cluster within an instance.</p>
+<p class="firstline">Creates a cluster within an instance. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a cluster from an instance.</p>
@@ -99,10 +99,10 @@
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
   <code><a href="#partialUpdateCluster">partialUpdateCluster(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Partially updates a cluster within a project. This method is the preferred way to update a Cluster. </p>
+<p class="firstline">Partially updates a cluster within a project. This method is the preferred way to update a Cluster. To enable and update autoscaling, set cluster_config.cluster_autoscaling_config. When autoscaling is enabled, serve_nodes is treated as an OUTPUT_ONLY field, meaning that updates to it are ignored. Note that an update cannot simultaneously set serve_nodes to non-zero and cluster_config.cluster_autoscaling_config to non-empty, and also specify both in the update_mask. To disable autoscaling, clear cluster_config.cluster_autoscaling_config, and explicitly set a serve_node count via the update_mask.</p>
 <p class="toc_element">
   <code><a href="#update">update(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Updates a cluster within an instance. UpdateCluster is deprecated. Please use PartialUpdateCluster instead.</p>
+<p class="firstline">Updates a cluster within an instance. Note that UpdateCluster does not support updating cluster_config.cluster_autoscaling_config. In order to update it, you must use PartialUpdateCluster.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -111,7 +111,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, clusterId=None, x__xgafv=None)</code>
-  <pre>Creates a cluster within an instance.
+  <pre>Creates a cluster within an instance. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.
 
 Args:
   parent: string, Required. The unique name of the instance in which to create the new cluster. Values are of the form `projects/{project}/instances/{instance}`. (required)
@@ -120,7 +120,7 @@
 
 { # A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.
   &quot;clusterConfig&quot;: { # Configuration for a cluster. # Configuration for this cluster.
-    &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster. Note that when creating or updating a cluster, exactly one of serve_nodes or cluster_autoscaling_config must be set. If serve_nodes is set, then serve_nodes is fixed and autoscaling is turned off. If cluster_autoscaling_config is set, then serve_nodes will be autoscaled.
+    &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster.
       &quot;autoscalingLimits&quot;: { # Limits for the number of nodes a Cluster can autoscale up/down to. # Required. Autoscaling limits for this cluster.
         &quot;maxServeNodes&quot;: 42, # Required. Maximum number of nodes to scale up to.
         &quot;minServeNodes&quot;: 42, # Required. Minimum number of nodes to scale down to.
@@ -136,7 +136,7 @@
   },
   &quot;location&quot;: &quot;A String&quot;, # Immutable. The location where this cluster&#x27;s nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`.
   &quot;name&quot;: &quot;A String&quot;, # The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.
-  &quot;serveNodes&quot;: 42, # Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
+  &quot;serveNodes&quot;: 42, # The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
 }
 
@@ -204,7 +204,7 @@
 
     { # A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.
   &quot;clusterConfig&quot;: { # Configuration for a cluster. # Configuration for this cluster.
-    &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster. Note that when creating or updating a cluster, exactly one of serve_nodes or cluster_autoscaling_config must be set. If serve_nodes is set, then serve_nodes is fixed and autoscaling is turned off. If cluster_autoscaling_config is set, then serve_nodes will be autoscaled.
+    &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster.
       &quot;autoscalingLimits&quot;: { # Limits for the number of nodes a Cluster can autoscale up/down to. # Required. Autoscaling limits for this cluster.
         &quot;maxServeNodes&quot;: 42, # Required. Maximum number of nodes to scale up to.
         &quot;minServeNodes&quot;: 42, # Required. Minimum number of nodes to scale down to.
@@ -220,7 +220,7 @@
   },
   &quot;location&quot;: &quot;A String&quot;, # Immutable. The location where this cluster&#x27;s nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`.
   &quot;name&quot;: &quot;A String&quot;, # The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.
-  &quot;serveNodes&quot;: 42, # Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
+  &quot;serveNodes&quot;: 42, # The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
 }</pre>
 </div>
@@ -244,7 +244,7 @@
   &quot;clusters&quot;: [ # The list of requested clusters.
     { # A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.
       &quot;clusterConfig&quot;: { # Configuration for a cluster. # Configuration for this cluster.
-        &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster. Note that when creating or updating a cluster, exactly one of serve_nodes or cluster_autoscaling_config must be set. If serve_nodes is set, then serve_nodes is fixed and autoscaling is turned off. If cluster_autoscaling_config is set, then serve_nodes will be autoscaled.
+        &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster.
           &quot;autoscalingLimits&quot;: { # Limits for the number of nodes a Cluster can autoscale up/down to. # Required. Autoscaling limits for this cluster.
             &quot;maxServeNodes&quot;: 42, # Required. Maximum number of nodes to scale up to.
             &quot;minServeNodes&quot;: 42, # Required. Minimum number of nodes to scale down to.
@@ -260,7 +260,7 @@
       },
       &quot;location&quot;: &quot;A String&quot;, # Immutable. The location where this cluster&#x27;s nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`.
       &quot;name&quot;: &quot;A String&quot;, # The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.
-      &quot;serveNodes&quot;: 42, # Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
+      &quot;serveNodes&quot;: 42, # The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
       &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
     },
   ],
@@ -287,7 +287,7 @@
 
 <div class="method">
     <code class="details" id="partialUpdateCluster">partialUpdateCluster(name, body=None, updateMask=None, x__xgafv=None)</code>
-  <pre>Partially updates a cluster within a project. This method is the preferred way to update a Cluster. 
+  <pre>Partially updates a cluster within a project. This method is the preferred way to update a Cluster. To enable and update autoscaling, set cluster_config.cluster_autoscaling_config. When autoscaling is enabled, serve_nodes is treated as an OUTPUT_ONLY field, meaning that updates to it are ignored. Note that an update cannot simultaneously set serve_nodes to non-zero and cluster_config.cluster_autoscaling_config to non-empty, and also specify both in the update_mask. To disable autoscaling, clear cluster_config.cluster_autoscaling_config, and explicitly set a serve_node count via the update_mask.
 
 Args:
   name: string, The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. (required)
@@ -296,7 +296,7 @@
 
 { # A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.
   &quot;clusterConfig&quot;: { # Configuration for a cluster. # Configuration for this cluster.
-    &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster. Note that when creating or updating a cluster, exactly one of serve_nodes or cluster_autoscaling_config must be set. If serve_nodes is set, then serve_nodes is fixed and autoscaling is turned off. If cluster_autoscaling_config is set, then serve_nodes will be autoscaled.
+    &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster.
       &quot;autoscalingLimits&quot;: { # Limits for the number of nodes a Cluster can autoscale up/down to. # Required. Autoscaling limits for this cluster.
         &quot;maxServeNodes&quot;: 42, # Required. Maximum number of nodes to scale up to.
         &quot;minServeNodes&quot;: 42, # Required. Minimum number of nodes to scale down to.
@@ -312,11 +312,11 @@
   },
   &quot;location&quot;: &quot;A String&quot;, # Immutable. The location where this cluster&#x27;s nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`.
   &quot;name&quot;: &quot;A String&quot;, # The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.
-  &quot;serveNodes&quot;: 42, # Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
+  &quot;serveNodes&quot;: 42, # The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
 }
 
-  updateMask: string, Required. The subset of Cluster fields which should be replaced. Must be explicitly set.
+  updateMask: string, Required. The subset of Cluster fields which should be replaced.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -348,7 +348,7 @@
 
 <div class="method">
     <code class="details" id="update">update(name, body=None, x__xgafv=None)</code>
-  <pre>Updates a cluster within an instance. UpdateCluster is deprecated. Please use PartialUpdateCluster instead.
+  <pre>Updates a cluster within an instance. Note that UpdateCluster does not support updating cluster_config.cluster_autoscaling_config. In order to update it, you must use PartialUpdateCluster.
 
 Args:
   name: string, The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. (required)
@@ -357,7 +357,7 @@
 
 { # A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.
   &quot;clusterConfig&quot;: { # Configuration for a cluster. # Configuration for this cluster.
-    &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster. Note that when creating or updating a cluster, exactly one of serve_nodes or cluster_autoscaling_config must be set. If serve_nodes is set, then serve_nodes is fixed and autoscaling is turned off. If cluster_autoscaling_config is set, then serve_nodes will be autoscaled.
+    &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster.
       &quot;autoscalingLimits&quot;: { # Limits for the number of nodes a Cluster can autoscale up/down to. # Required. Autoscaling limits for this cluster.
         &quot;maxServeNodes&quot;: 42, # Required. Maximum number of nodes to scale up to.
         &quot;minServeNodes&quot;: 42, # Required. Minimum number of nodes to scale down to.
@@ -373,7 +373,7 @@
   },
   &quot;location&quot;: &quot;A String&quot;, # Immutable. The location where this cluster&#x27;s nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`.
   &quot;name&quot;: &quot;A String&quot;, # The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.
-  &quot;serveNodes&quot;: 42, # Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
+  &quot;serveNodes&quot;: 42, # The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
 }
 
diff --git a/docs/dyn/bigtableadmin_v2.projects.instances.html b/docs/dyn/bigtableadmin_v2.projects.instances.html
index eddd29d..7999794 100644
--- a/docs/dyn/bigtableadmin_v2.projects.instances.html
+++ b/docs/dyn/bigtableadmin_v2.projects.instances.html
@@ -94,7 +94,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">Create an instance within a project.</p>
+<p class="firstline">Create an instance within a project. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Delete an instance from a project.</p>
@@ -130,7 +130,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Create an instance within a project.
+  <pre>Create an instance within a project. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.
 
 Args:
   parent: string, Required. The unique name of the project in which to create the new instance. Values are of the form `projects/{project}`. (required)
@@ -141,7 +141,7 @@
   &quot;clusters&quot;: { # Required. The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. Currently, at most four clusters can be specified.
     &quot;a_key&quot;: { # A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.
       &quot;clusterConfig&quot;: { # Configuration for a cluster. # Configuration for this cluster.
-        &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster. Note that when creating or updating a cluster, exactly one of serve_nodes or cluster_autoscaling_config must be set. If serve_nodes is set, then serve_nodes is fixed and autoscaling is turned off. If cluster_autoscaling_config is set, then serve_nodes will be autoscaled.
+        &quot;clusterAutoscalingConfig&quot;: { # Autoscaling config for a cluster. # Autoscaling configuration for this cluster.
           &quot;autoscalingLimits&quot;: { # Limits for the number of nodes a Cluster can autoscale up/down to. # Required. Autoscaling limits for this cluster.
             &quot;maxServeNodes&quot;: 42, # Required. Maximum number of nodes to scale up to.
             &quot;minServeNodes&quot;: 42, # Required. Minimum number of nodes to scale down to.
@@ -157,7 +157,7 @@
       },
       &quot;location&quot;: &quot;A String&quot;, # Immutable. The location where this cluster&#x27;s nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`.
       &quot;name&quot;: &quot;A String&quot;, # The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.
-      &quot;serveNodes&quot;: 42, # Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
+      &quot;serveNodes&quot;: 42, # The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
       &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
     },
   },
@@ -259,7 +259,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/bigtableadmin_v2.projects.instances.tables.html b/docs/dyn/bigtableadmin_v2.projects.instances.tables.html
index 736e7b4..5778a7d 100644
--- a/docs/dyn/bigtableadmin_v2.projects.instances.tables.html
+++ b/docs/dyn/bigtableadmin_v2.projects.instances.tables.html
@@ -433,7 +433,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/chat_v1.dms.conversations.html b/docs/dyn/chat_v1.dms.conversations.html
index 273a1ad..a81e7c7 100644
--- a/docs/dyn/chat_v1.dms.conversations.html
+++ b/docs/dyn/chat_v1.dms.conversations.html
@@ -835,6 +835,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1610,6 +1613,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.dms.html b/docs/dyn/chat_v1.dms.html
index 2da9413..1f3a131 100644
--- a/docs/dyn/chat_v1.dms.html
+++ b/docs/dyn/chat_v1.dms.html
@@ -843,6 +843,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1618,6 +1621,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -2393,6 +2399,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -3168,6 +3177,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.rooms.conversations.html b/docs/dyn/chat_v1.rooms.conversations.html
index eb67220..0512f12 100644
--- a/docs/dyn/chat_v1.rooms.conversations.html
+++ b/docs/dyn/chat_v1.rooms.conversations.html
@@ -835,6 +835,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1610,6 +1613,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.rooms.html b/docs/dyn/chat_v1.rooms.html
index 14b0957..6ef5feb 100644
--- a/docs/dyn/chat_v1.rooms.html
+++ b/docs/dyn/chat_v1.rooms.html
@@ -843,6 +843,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1618,6 +1621,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -2393,6 +2399,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -3168,6 +3177,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.spaces.html b/docs/dyn/chat_v1.spaces.html
index cad4fd1..faa200f 100644
--- a/docs/dyn/chat_v1.spaces.html
+++ b/docs/dyn/chat_v1.spaces.html
@@ -920,6 +920,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1695,6 +1698,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.spaces.messages.html b/docs/dyn/chat_v1.spaces.messages.html
index e7816c1..17fbafe 100644
--- a/docs/dyn/chat_v1.spaces.messages.html
+++ b/docs/dyn/chat_v1.spaces.messages.html
@@ -849,6 +849,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1624,6 +1627,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -2422,6 +2428,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -3197,6 +3206,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -3971,6 +3983,9 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Google Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
   &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.
+  &quot;matchedUrl&quot;: { # A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling). # A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).
+    &quot;url&quot;: &quot;A String&quot;, # The url that was matched.
+  },
   &quot;name&quot;: &quot;A String&quot;, # Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/civicinfo_v2.representatives.html b/docs/dyn/civicinfo_v2.representatives.html
index 2046912..8e71054 100644
--- a/docs/dyn/civicinfo_v2.representatives.html
+++ b/docs/dyn/civicinfo_v2.representatives.html
@@ -194,6 +194,20 @@
       &quot;emails&quot;: [ # The direct email addresses for the official.
         &quot;A String&quot;,
       ],
+      &quot;geocodingSummaries&quot;: [ # Detailed summary about the official&#x27;s address&#x27;s geocoding
+        { # Detailed summary of the result from geocoding an address
+          &quot;addressUnderstood&quot;: True or False, # Represents the best estimate of whether or not the input address was fully understood and the address is correctly componentized. Mirrors the same-name field in geostore.staging.AddressLinkupScoringProto.
+          &quot;featureId&quot;: { # A globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit &quot;cell id&quot; that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often - but not always - preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don&#x27;t need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos. # The ID of the FeatureProto returned by the geocoder
+            &quot;cellId&quot;: &quot;A String&quot;, # The S2CellId corresponding to the approximate location of this feature as of when it was first created. This can be of variable accuracy, ranging from the exact centroid of the feature at creation, a very large S2 Cell, or even being completely randomized for locationless features. Cell ids have the nice property that they follow a space-filling curve over the surface of the earth. (See s2cellid.h for details.) WARNING: Clients should only use cell IDs to perform spatial locality optimizations. There is no strict guarantee that the cell ID of a feature is related to the current geometry of the feature in any way.
+            &quot;fprint&quot;: &quot;A String&quot;, # A 64-bit fingerprint used to identify features. Most clients should rely on MapFacts or OneRing to choose fingerprints. If creating new fprints, the strategy should be chosen so that the chance of collision is remote or non-existent, and the distribution should be reasonably uniform. For example, if the source data assigns unique ids to features, then a fingerprint of the provider name, version, and source id is sufficient.
+            &quot;temporaryData&quot;: { # This is proto2&#x27;s version of MessageSet. # A place for clients to attach arbitrary data to a feature ID. Never set in MapFacts.
+            },
+          },
+          &quot;featureType&quot;: &quot;A String&quot;, # The feature type for the FeatureProto returned by the geocoder
+          &quot;positionPrecisionMeters&quot;: 3.14, # Precision of the center point (lat/long) of the geocoded FeatureProto
+          &quot;queryString&quot;: &quot;A String&quot;, # The query sent to the geocoder
+        },
+      ],
       &quot;name&quot;: &quot;A String&quot;, # The official&#x27;s name.
       &quot;party&quot;: &quot;A String&quot;, # The full name of the party the official belongs to.
       &quot;phones&quot;: [ # The official&#x27;s public contact phone numbers.
@@ -303,6 +317,20 @@
       &quot;emails&quot;: [ # The direct email addresses for the official.
         &quot;A String&quot;,
       ],
+      &quot;geocodingSummaries&quot;: [ # Detailed summary about the official&#x27;s address&#x27;s geocoding
+        { # Detailed summary of the result from geocoding an address
+          &quot;addressUnderstood&quot;: True or False, # Represents the best estimate of whether or not the input address was fully understood and the address is correctly componentized. Mirrors the same-name field in geostore.staging.AddressLinkupScoringProto.
+          &quot;featureId&quot;: { # A globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit &quot;cell id&quot; that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often - but not always - preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don&#x27;t need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos. # The ID of the FeatureProto returned by the geocoder
+            &quot;cellId&quot;: &quot;A String&quot;, # The S2CellId corresponding to the approximate location of this feature as of when it was first created. This can be of variable accuracy, ranging from the exact centroid of the feature at creation, a very large S2 Cell, or even being completely randomized for locationless features. Cell ids have the nice property that they follow a space-filling curve over the surface of the earth. (See s2cellid.h for details.) WARNING: Clients should only use cell IDs to perform spatial locality optimizations. There is no strict guarantee that the cell ID of a feature is related to the current geometry of the feature in any way.
+            &quot;fprint&quot;: &quot;A String&quot;, # A 64-bit fingerprint used to identify features. Most clients should rely on MapFacts or OneRing to choose fingerprints. If creating new fprints, the strategy should be chosen so that the chance of collision is remote or non-existent, and the distribution should be reasonably uniform. For example, if the source data assigns unique ids to features, then a fingerprint of the provider name, version, and source id is sufficient.
+            &quot;temporaryData&quot;: { # This is proto2&#x27;s version of MessageSet. # A place for clients to attach arbitrary data to a feature ID. Never set in MapFacts.
+            },
+          },
+          &quot;featureType&quot;: &quot;A String&quot;, # The feature type for the FeatureProto returned by the geocoder
+          &quot;positionPrecisionMeters&quot;: 3.14, # Precision of the center point (lat/long) of the geocoded FeatureProto
+          &quot;queryString&quot;: &quot;A String&quot;, # The query sent to the geocoder
+        },
+      ],
       &quot;name&quot;: &quot;A String&quot;, # The official&#x27;s name.
       &quot;party&quot;: &quot;A String&quot;, # The full name of the party the official belongs to.
       &quot;phones&quot;: [ # The official&#x27;s public contact phone numbers.
diff --git a/docs/dyn/cloudbilling_v1.projects.html b/docs/dyn/cloudbilling_v1.projects.html
index 189b70e..a9a39e4 100644
--- a/docs/dyn/cloudbilling_v1.projects.html
+++ b/docs/dyn/cloudbilling_v1.projects.html
@@ -79,7 +79,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#getBillingInfo">getBillingInfo(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets the billing information for a project. The current authenticated user must have [permission to view the project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ).</p>
+<p class="firstline">Gets the billing information for a project. The current authenticated user must have the `resourcemanager.projects.get` permission for the project, which can be granted by assigning the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) role.</p>
 <p class="toc_element">
   <code><a href="#updateBillingInfo">updateBillingInfo(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Sets or updates the billing account associated with a project. You specify the new billing account by setting the `billing_account_name` in the `ProjectBillingInfo` resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges. *Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project. The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access). You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project. Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an *open* billing account.</p>
@@ -91,7 +91,7 @@
 
 <div class="method">
     <code class="details" id="getBillingInfo">getBillingInfo(name, x__xgafv=None)</code>
-  <pre>Gets the billing information for a project. The current authenticated user must have [permission to view the project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ).
+  <pre>Gets the billing information for a project. The current authenticated user must have the `resourcemanager.projects.get` permission for the project, which can be granted by assigning the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) role.
 
 Args:
   name: string, Required. The resource name of the project for which billing information is retrieved. For example, `projects/tokyo-rain-123`. (required)
diff --git a/docs/dyn/cloudidentity_v1.groups.html b/docs/dyn/cloudidentity_v1.groups.html
index 27402fd..198943f 100644
--- a/docs/dyn/cloudidentity_v1.groups.html
+++ b/docs/dyn/cloudidentity_v1.groups.html
@@ -92,6 +92,9 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves a `Group`.</p>
 <p class="toc_element">
+  <code><a href="#getSecuritySettings">getSecuritySettings(name, readMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Get Security Settings</p>
+<p class="toc_element">
   <code><a href="#list">list(pageSize=None, pageToken=None, parent=None, view=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists the `Group` resources under a customer or namespace.</p>
 <p class="toc_element">
@@ -109,6 +112,9 @@
 <p class="toc_element">
   <code><a href="#search_next">search_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="#updateSecuritySettings">updateSecuritySettings(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update Security Settings</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -264,6 +270,32 @@
 </div>
 
 <div class="method">
+    <code class="details" id="getSecuritySettings">getSecuritySettings(name, readMask=None, x__xgafv=None)</code>
+  <pre>Get Security Settings
+
+Args:
+  name: string, Required. The security settings to retrieve. Format: `groups/{group_id}/securitySettings` (required)
+  readMask: string, Field-level read mask of which fields to return. &quot;*&quot; returns all fields. If not specified, all fields will be returned. May only contain the following field: `member_restriction`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The definition of security settings.
+  &quot;memberRestriction&quot;: { # The definition of MemberRestriction # The Member Restriction value
+    &quot;evaluation&quot;: { # The evaluated state of this restriction. # The evaluated state of this restriction on a group.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the restriction
+    },
+    &quot;query&quot;: &quot;A String&quot;, # Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&amp;&amp;`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 &amp;&amp; member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(pageSize=None, pageToken=None, parent=None, view=None, x__xgafv=None)</code>
   <pre>Lists the `Group` resources under a customer or namespace.
 
@@ -488,4 +520,53 @@
     </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="updateSecuritySettings">updateSecuritySettings(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Update Security Settings
+
+Args:
+  name: string, Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The definition of security settings.
+  &quot;memberRestriction&quot;: { # The definition of MemberRestriction # The Member Restriction value
+    &quot;evaluation&quot;: { # The evaluated state of this restriction. # The evaluated state of this restriction on a group.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the restriction
+    },
+    &quot;query&quot;: &quot;A String&quot;, # Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&amp;&amp;`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 &amp;&amp; member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.
+}
+
+  updateMask: string, Required. The fully-qualified names of fields to update. May only contain the following field: `member_restriction.query`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/cloudidentity_v1.groups.memberships.html b/docs/dyn/cloudidentity_v1.groups.memberships.html
index a113923..e9ca321 100644
--- a/docs/dyn/cloudidentity_v1.groups.memberships.html
+++ b/docs/dyn/cloudidentity_v1.groups.memberships.html
@@ -164,6 +164,11 @@
         &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
       },
       &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+      &quot;restrictionEvaluations&quot;: { # Evaluations of restrictions applied to parent group on this membership. # Evaluations of restrictions applied to parent group on this membership.
+        &quot;memberRestrictionEvaluation&quot;: { # The evaluated state of this restriction. # Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation.
+          &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the restriction
+        },
+      },
     },
   ],
   &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
@@ -261,6 +266,11 @@
         &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
       },
       &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+      &quot;restrictionEvaluations&quot;: { # Evaluations of restrictions applied to parent group on this membership. # Evaluations of restrictions applied to parent group on this membership.
+        &quot;memberRestrictionEvaluation&quot;: { # The evaluated state of this restriction. # Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation.
+          &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the restriction
+        },
+      },
     },
   ],
   &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
@@ -340,6 +350,11 @@
             &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
           },
           &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+          &quot;restrictionEvaluations&quot;: { # Evaluations of restrictions applied to parent group on this membership. # Evaluations of restrictions applied to parent group on this membership.
+            &quot;memberRestrictionEvaluation&quot;: { # The evaluated state of this restriction. # Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation.
+              &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the restriction
+            },
+          },
         },
       ],
       &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
@@ -401,6 +416,11 @@
         &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
       },
       &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+      &quot;restrictionEvaluations&quot;: { # Evaluations of restrictions applied to parent group on this membership. # Evaluations of restrictions applied to parent group on this membership.
+        &quot;memberRestrictionEvaluation&quot;: { # The evaluated state of this restriction. # Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation.
+          &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the restriction
+        },
+      },
     },
   ],
   &quot;removeRoles&quot;: [ # The `name`s of the `MembershipRole`s to be removed. Adding or removing roles in the same request as updating roles is not supported. It is not possible to remove the `MEMBER` `MembershipRole`. If you wish to delete a `Membership`, call MembershipsService.DeleteMembership instead. Must not contain `MEMBER`. Must not be set if `update_roles_params` is set.
@@ -414,6 +434,11 @@
           &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
         },
         &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+        &quot;restrictionEvaluations&quot;: { # Evaluations of restrictions applied to parent group on this membership. # Evaluations of restrictions applied to parent group on this membership.
+          &quot;memberRestrictionEvaluation&quot;: { # The evaluated state of this restriction. # Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation.
+            &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the restriction
+          },
+        },
       },
     },
   ],
@@ -441,6 +466,11 @@
           &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
         },
         &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+        &quot;restrictionEvaluations&quot;: { # Evaluations of restrictions applied to parent group on this membership. # Evaluations of restrictions applied to parent group on this membership.
+          &quot;memberRestrictionEvaluation&quot;: { # The evaluated state of this restriction. # Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation.
+            &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the restriction
+          },
+        },
       },
     ],
     &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
diff --git a/docs/dyn/cloudidentity_v1beta1.devices.html b/docs/dyn/cloudidentity_v1beta1.devices.html
index 18cb24b..7e18238 100644
--- a/docs/dyn/cloudidentity_v1beta1.devices.html
+++ b/docs/dyn/cloudidentity_v1beta1.devices.html
@@ -177,8 +177,8 @@
     &quot;enabledDeveloperOptions&quot;: True or False, # Output only. Whether developer options is enabled on device.
     &quot;enabledUsbDebugging&quot;: True or False, # Output only. Whether USB debugging is enabled on device.
     &quot;encryptionState&quot;: &quot;A String&quot;, # Output only. Device encryption state.
-    &quot;endpointVerificationSpecificAttributes&quot;: { # Resource representing the Endpoint Verification-specific attributes of a Device. # Output only. Attributes specific to Endpoint Verification devices.
-      &quot;certificateInfo&quot;: [ # Details of certificates.
+    &quot;endpointVerificationSpecificAttributes&quot;: { # Resource representing the Endpoint Verification-specific attributes of a Device. https://cloud.google.com/endpoint-verification/docs/overview # Output only. Attributes specific to Endpoint Verification devices.
+      &quot;certificateAttributes&quot;: [ # Details of certificates.
         { # Stores information about a certificate.
           &quot;certificateTemplate&quot;: { # CertificateTemplate (v3 Extension in X.509). # The X.509 extension for CertificateTemplate.
             &quot;id&quot;: &quot;A String&quot;, # The template id of the template. Example: &quot;1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047&quot;.
@@ -315,8 +315,8 @@
   &quot;enabledDeveloperOptions&quot;: True or False, # Output only. Whether developer options is enabled on device.
   &quot;enabledUsbDebugging&quot;: True or False, # Output only. Whether USB debugging is enabled on device.
   &quot;encryptionState&quot;: &quot;A String&quot;, # Output only. Device encryption state.
-  &quot;endpointVerificationSpecificAttributes&quot;: { # Resource representing the Endpoint Verification-specific attributes of a Device. # Output only. Attributes specific to Endpoint Verification devices.
-    &quot;certificateInfo&quot;: [ # Details of certificates.
+  &quot;endpointVerificationSpecificAttributes&quot;: { # Resource representing the Endpoint Verification-specific attributes of a Device. https://cloud.google.com/endpoint-verification/docs/overview # Output only. Attributes specific to Endpoint Verification devices.
+    &quot;certificateAttributes&quot;: [ # Details of certificates.
       { # Stores information about a certificate.
         &quot;certificateTemplate&quot;: { # CertificateTemplate (v3 Extension in X.509). # The X.509 extension for CertificateTemplate.
           &quot;id&quot;: &quot;A String&quot;, # The template id of the template. Example: &quot;1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047&quot;.
@@ -399,8 +399,8 @@
       &quot;enabledDeveloperOptions&quot;: True or False, # Output only. Whether developer options is enabled on device.
       &quot;enabledUsbDebugging&quot;: True or False, # Output only. Whether USB debugging is enabled on device.
       &quot;encryptionState&quot;: &quot;A String&quot;, # Output only. Device encryption state.
-      &quot;endpointVerificationSpecificAttributes&quot;: { # Resource representing the Endpoint Verification-specific attributes of a Device. # Output only. Attributes specific to Endpoint Verification devices.
-        &quot;certificateInfo&quot;: [ # Details of certificates.
+      &quot;endpointVerificationSpecificAttributes&quot;: { # Resource representing the Endpoint Verification-specific attributes of a Device. https://cloud.google.com/endpoint-verification/docs/overview # Output only. Attributes specific to Endpoint Verification devices.
+        &quot;certificateAttributes&quot;: [ # Details of certificates.
           { # Stores information about a certificate.
             &quot;certificateTemplate&quot;: { # CertificateTemplate (v3 Extension in X.509). # The X.509 extension for CertificateTemplate.
               &quot;id&quot;: &quot;A String&quot;, # The template id of the template. Example: &quot;1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047&quot;.
diff --git a/docs/dyn/cloudtasks_v2.projects.locations.queues.html b/docs/dyn/cloudtasks_v2.projects.locations.queues.html
index c10b33f..b08d9ea 100644
--- a/docs/dyn/cloudtasks_v2.projects.locations.queues.html
+++ b/docs/dyn/cloudtasks_v2.projects.locations.queues.html
@@ -267,7 +267,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/cloudtasks_v2.projects.locations.queues.tasks.html b/docs/dyn/cloudtasks_v2.projects.locations.queues.tasks.html
index 7d5becf..e3675bd 100644
--- a/docs/dyn/cloudtasks_v2.projects.locations.queues.tasks.html
+++ b/docs/dyn/cloudtasks_v2.projects.locations.queues.tasks.html
@@ -146,7 +146,7 @@
     },
     &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the worker. An HTTP task is a task that has HttpRequest set.
       &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-      &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+      &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
@@ -223,7 +223,7 @@
   },
   &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the worker. An HTTP task is a task that has HttpRequest set.
     &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
@@ -329,7 +329,7 @@
   },
   &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the worker. An HTTP task is a task that has HttpRequest set.
     &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
@@ -422,7 +422,7 @@
       },
       &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the worker. An HTTP task is a task that has HttpRequest set.
         &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-        &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+        &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
@@ -528,7 +528,7 @@
   },
   &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the worker. An HTTP task is a task that has HttpRequest set.
     &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
diff --git a/docs/dyn/cloudtasks_v2beta2.projects.locations.queues.html b/docs/dyn/cloudtasks_v2beta2.projects.locations.queues.html
index eb4fabb..532c39b 100644
--- a/docs/dyn/cloudtasks_v2beta2.projects.locations.queues.html
+++ b/docs/dyn/cloudtasks_v2beta2.projects.locations.queues.html
@@ -301,7 +301,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html
index 9a8a86f..28e5a43 100644
--- a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html
+++ b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html
@@ -304,7 +304,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.tasks.html b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.tasks.html
index 4fc2e31..26872e5 100644
--- a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.tasks.html
+++ b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.tasks.html
@@ -146,7 +146,7 @@
     },
     &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the task&#x27;s target. An HTTP task is a task that has HttpRequest set.
       &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-      &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+      &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
@@ -227,7 +227,7 @@
   },
   &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the task&#x27;s target. An HTTP task is a task that has HttpRequest set.
     &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
@@ -337,7 +337,7 @@
   },
   &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the task&#x27;s target. An HTTP task is a task that has HttpRequest set.
     &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
@@ -434,7 +434,7 @@
       },
       &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the task&#x27;s target. An HTTP task is a task that has HttpRequest set.
         &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-        &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+        &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
@@ -544,7 +544,7 @@
   },
   &quot;httpRequest&quot;: { # HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue&#x27;s state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue&#x27;s effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time). # HTTP request that is sent to the task&#x27;s target. An HTTP task is a task that has HttpRequest set.
     &quot;body&quot;: &quot;A String&quot;, # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.
-    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
+    &quot;headers&quot;: { # HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task&#x27;s HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `&quot;Google-Cloud-Tasks&quot;`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won&#x27;t be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `&quot;application/octet-stream&quot;` or `&quot;application/json&quot;`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;httpMethod&quot;: &quot;A String&quot;, # The HTTP method to use for the request. The default is POST.
diff --git a/docs/dyn/containeranalysis_v1.html b/docs/dyn/containeranalysis_v1.html
index b74ef19..14577ae 100644
--- a/docs/dyn/containeranalysis_v1.html
+++ b/docs/dyn/containeranalysis_v1.html
@@ -75,11 +75,6 @@
 <h1><a href="containeranalysis_v1.html">Container Analysis API</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="containeranalysis_v1.operations.html">operations()</a></code>
-</p>
-<p class="firstline">Returns the operations Resource.</p>
-
-<p class="toc_element">
   <code><a href="containeranalysis_v1.projects.html">projects()</a></code>
 </p>
 <p class="firstline">Returns the projects Resource.</p>
diff --git a/docs/dyn/containeranalysis_v1.projects.notes.occurrences.html b/docs/dyn/containeranalysis_v1.projects.notes.occurrences.html
index ae3f7e3..896c748 100644
--- a/docs/dyn/containeranalysis_v1.projects.notes.occurrences.html
+++ b/docs/dyn/containeranalysis_v1.projects.notes.occurrences.html
@@ -580,6 +580,20 @@
       },
       &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
         &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+        &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+          &quot;attackComplexity&quot;: &quot;A String&quot;,
+          &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+          &quot;authentication&quot;: &quot;A String&quot;,
+          &quot;availabilityImpact&quot;: &quot;A String&quot;,
+          &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+          &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+          &quot;exploitabilityScore&quot;: 3.14,
+          &quot;impactScore&quot;: 3.14,
+          &quot;integrityImpact&quot;: &quot;A String&quot;,
+          &quot;privilegesRequired&quot;: &quot;A String&quot;,
+          &quot;scope&quot;: &quot;A String&quot;,
+          &quot;userInteraction&quot;: &quot;A String&quot;,
+        },
         &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
         &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
         &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
diff --git a/docs/dyn/containeranalysis_v1.projects.occurrences.html b/docs/dyn/containeranalysis_v1.projects.occurrences.html
index 91389ac..37850fe 100644
--- a/docs/dyn/containeranalysis_v1.projects.occurrences.html
+++ b/docs/dyn/containeranalysis_v1.projects.occurrences.html
@@ -596,6 +596,20 @@
       },
       &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
         &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+        &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+          &quot;attackComplexity&quot;: &quot;A String&quot;,
+          &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+          &quot;authentication&quot;: &quot;A String&quot;,
+          &quot;availabilityImpact&quot;: &quot;A String&quot;,
+          &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+          &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+          &quot;exploitabilityScore&quot;: 3.14,
+          &quot;impactScore&quot;: 3.14,
+          &quot;integrityImpact&quot;: &quot;A String&quot;,
+          &quot;privilegesRequired&quot;: &quot;A String&quot;,
+          &quot;scope&quot;: &quot;A String&quot;,
+          &quot;userInteraction&quot;: &quot;A String&quot;,
+        },
         &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
         &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
         &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
@@ -1121,6 +1135,20 @@
       },
       &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
         &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+        &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+          &quot;attackComplexity&quot;: &quot;A String&quot;,
+          &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+          &quot;authentication&quot;: &quot;A String&quot;,
+          &quot;availabilityImpact&quot;: &quot;A String&quot;,
+          &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+          &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+          &quot;exploitabilityScore&quot;: 3.14,
+          &quot;impactScore&quot;: 3.14,
+          &quot;integrityImpact&quot;: &quot;A String&quot;,
+          &quot;privilegesRequired&quot;: &quot;A String&quot;,
+          &quot;scope&quot;: &quot;A String&quot;,
+          &quot;userInteraction&quot;: &quot;A String&quot;,
+        },
         &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
         &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
         &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
@@ -1651,6 +1679,20 @@
   },
   &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
     &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+    &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+      &quot;attackComplexity&quot;: &quot;A String&quot;,
+      &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+      &quot;authentication&quot;: &quot;A String&quot;,
+      &quot;availabilityImpact&quot;: &quot;A String&quot;,
+      &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+      &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+      &quot;exploitabilityScore&quot;: 3.14,
+      &quot;impactScore&quot;: 3.14,
+      &quot;integrityImpact&quot;: &quot;A String&quot;,
+      &quot;privilegesRequired&quot;: &quot;A String&quot;,
+      &quot;scope&quot;: &quot;A String&quot;,
+      &quot;userInteraction&quot;: &quot;A String&quot;,
+    },
     &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
     &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
     &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
@@ -2172,6 +2214,20 @@
   },
   &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
     &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+    &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+      &quot;attackComplexity&quot;: &quot;A String&quot;,
+      &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+      &quot;authentication&quot;: &quot;A String&quot;,
+      &quot;availabilityImpact&quot;: &quot;A String&quot;,
+      &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+      &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+      &quot;exploitabilityScore&quot;: 3.14,
+      &quot;impactScore&quot;: 3.14,
+      &quot;integrityImpact&quot;: &quot;A String&quot;,
+      &quot;privilegesRequired&quot;: &quot;A String&quot;,
+      &quot;scope&quot;: &quot;A String&quot;,
+      &quot;userInteraction&quot;: &quot;A String&quot;,
+    },
     &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
     &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
     &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
@@ -2718,6 +2774,20 @@
   },
   &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
     &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+    &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+      &quot;attackComplexity&quot;: &quot;A String&quot;,
+      &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+      &quot;authentication&quot;: &quot;A String&quot;,
+      &quot;availabilityImpact&quot;: &quot;A String&quot;,
+      &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+      &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+      &quot;exploitabilityScore&quot;: 3.14,
+      &quot;impactScore&quot;: 3.14,
+      &quot;integrityImpact&quot;: &quot;A String&quot;,
+      &quot;privilegesRequired&quot;: &quot;A String&quot;,
+      &quot;scope&quot;: &quot;A String&quot;,
+      &quot;userInteraction&quot;: &quot;A String&quot;,
+    },
     &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
     &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
     &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
@@ -3534,6 +3604,20 @@
       },
       &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
         &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+        &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+          &quot;attackComplexity&quot;: &quot;A String&quot;,
+          &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+          &quot;authentication&quot;: &quot;A String&quot;,
+          &quot;availabilityImpact&quot;: &quot;A String&quot;,
+          &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+          &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+          &quot;exploitabilityScore&quot;: 3.14,
+          &quot;impactScore&quot;: 3.14,
+          &quot;integrityImpact&quot;: &quot;A String&quot;,
+          &quot;privilegesRequired&quot;: &quot;A String&quot;,
+          &quot;scope&quot;: &quot;A String&quot;,
+          &quot;userInteraction&quot;: &quot;A String&quot;,
+        },
         &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
         &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
         &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
@@ -4073,6 +4157,20 @@
   },
   &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
     &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+    &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+      &quot;attackComplexity&quot;: &quot;A String&quot;,
+      &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+      &quot;authentication&quot;: &quot;A String&quot;,
+      &quot;availabilityImpact&quot;: &quot;A String&quot;,
+      &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+      &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+      &quot;exploitabilityScore&quot;: 3.14,
+      &quot;impactScore&quot;: 3.14,
+      &quot;integrityImpact&quot;: &quot;A String&quot;,
+      &quot;privilegesRequired&quot;: &quot;A String&quot;,
+      &quot;scope&quot;: &quot;A String&quot;,
+      &quot;userInteraction&quot;: &quot;A String&quot;,
+    },
     &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
     &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
     &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
@@ -4595,6 +4693,20 @@
   },
   &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
     &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+    &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+      &quot;attackComplexity&quot;: &quot;A String&quot;,
+      &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+      &quot;authentication&quot;: &quot;A String&quot;,
+      &quot;availabilityImpact&quot;: &quot;A String&quot;,
+      &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+      &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+      &quot;exploitabilityScore&quot;: 3.14,
+      &quot;impactScore&quot;: 3.14,
+      &quot;integrityImpact&quot;: &quot;A String&quot;,
+      &quot;privilegesRequired&quot;: &quot;A String&quot;,
+      &quot;scope&quot;: &quot;A String&quot;,
+      &quot;userInteraction&quot;: &quot;A String&quot;,
+    },
     &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
     &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
     &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
diff --git a/docs/dyn/datacatalog_v1.catalog.html b/docs/dyn/datacatalog_v1.catalog.html
index 303d749..8b2f528 100644
--- a/docs/dyn/datacatalog_v1.catalog.html
+++ b/docs/dyn/datacatalog_v1.catalog.html
@@ -98,10 +98,10 @@
     The object takes the form of:
 
 { # Request message for SearchCatalog.
-  &quot;orderBy&quot;: &quot;A String&quot;, # Specifies the order of results. Currently supported case-sensitive values are: * `relevance` that can only be descending * `last_modified_timestamp [asc|desc]` with descending (`desc`) as default If this parameter is omitted, it defaults to the descending `relevance`.
+  &quot;orderBy&quot;: &quot;A String&quot;, # Specifies the order of results. Currently supported case-sensitive values are: * `relevance` that can only be descending * `last_modified_timestamp [asc|desc]` with descending (`desc`) as default * `default` that can only be descending If this parameter is omitted, it defaults to the descending `relevance`.
   &quot;pageSize&quot;: 42, # Number of results to return in a single search page. Can&#x27;t be negative or 0, defaults to 10 in this case. The maximum number is 1000. If exceeded, throws an &quot;invalid argument&quot; exception.
   &quot;pageToken&quot;: &quot;A String&quot;, # Optional. Pagination token that, if specified, returns the next page of search results. If empty, returns the first page. This token is returned in the SearchCatalogResponse.next_page_token field of the response to a previous SearchCatalogRequest call.
-  &quot;query&quot;: &quot;A String&quot;, # Optional. The query string with a minimum of 3 characters and specific syntax. For more information, see [Data Catalog search syntax](/data-catalog/docs/how-to/search-reference). An empty query string returns all data assets (in the specified scope) that you have access to. A query string can be a simple `xyz` or qualified by predicates: * `name:x` * `column:y` * `description:z`
+  &quot;query&quot;: &quot;A String&quot;, # Optional. The query string with a minimum of 3 characters and specific syntax. For more information, see [Data Catalog search syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference). An empty query string returns all data assets (in the specified scope) that you have access to. A query string can be a simple `xyz` or qualified by predicates: * `name:x` * `column:y` * `description:z`
   &quot;scope&quot;: { # The criteria that select the subspace used for query matching. # Required. The scope of this search request. The `scope` is invalid if `include_org_ids`, `include_project_ids` are empty AND `include_gcp_public_datasets` is set to `false`. In this case, the request returns an error.
     &quot;includeGcpPublicDatasets&quot;: True or False, # If `true`, include Google Cloud Platform (GCP) public datasets in search results. By default, they are excluded. See [Google Cloud Public Datasets](/public-datasets) for more information.
     &quot;includeOrgIds&quot;: [ # The list of organization IDs to search within. To find your organization ID, follow the steps from [Creating and managing organizations] (/resource-manager/docs/creating-managing-organization).
@@ -110,10 +110,11 @@
     &quot;includeProjectIds&quot;: [ # The list of project IDs to search within. For more information on the distinction between project names, IDs, and numbers, see [Projects](/docs/overview/#projects).
       &quot;A String&quot;,
     ],
-    &quot;includePublicTagTemplates&quot;: True or False, # Optional. If `true`, include public tag templates in the search results. By default, they are included only if you have explicit permissions on them to view them. For example, if you are the owner. Other scope fields, for example, ``include_org_ids``, still restrict the returned public tag templates and at least one of them is required.
+    &quot;includePublicTagTemplates&quot;: True or False, # Optional. If `true`, include public tag templates in the search results. By default, they are included only if you have explicit permissions on them to view them. For example, if you are the owner. Other scope fields, for example, `include_org_ids`, still restrict the returned public tag templates and at least one of them is required.
     &quot;restrictedLocations&quot;: [ # Optional. The list of locations to search within. If empty, all locations are searched. Returns an error if any location in the list isn&#x27;t one of the [Supported regions](https://cloud.google.com/data-catalog/docs/concepts/regions#supported_regions). If a location is unreachable, its name is returned in the `SearchCatalogResponse.unreachable` field. To get additional information on the error, repeat the search request and set the location name as the value of this parameter.
       &quot;A String&quot;,
     ],
+    &quot;starredOnly&quot;: True or False, # Optional. If `true`, search only among starred entries. By default, all results are returned, starred or not.
   },
 }
 
diff --git a/docs/dyn/datacatalog_v1.entries.html b/docs/dyn/datacatalog_v1.entries.html
index ee45a31..2fcc4ae 100644
--- a/docs/dyn/datacatalog_v1.entries.html
+++ b/docs/dyn/datacatalog_v1.entries.html
@@ -161,6 +161,10 @@
   },
   &quot;linkedResource&quot;: &quot;A String&quot;, # The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
+  &quot;personalDetails&quot;: { # Entry metadata relevant only to the user and private to them. # Output only. Additional information related to the entry. Private to the current user.
+    &quot;starTime&quot;: &quot;A String&quot;, # Set if the entry is starred; unset otherwise.
+    &quot;starred&quot;: True or False, # True if the entry is starred by the user; false otherwise.
+  },
   &quot;routineSpec&quot;: { # Specification that applies to a routine. Valid only for entries with the `ROUTINE` type. # Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
     &quot;bigqueryRoutineSpec&quot;: { # Fields specific for BigQuery routines. # Fields specific for BigQuery routines.
       &quot;importedLibraries&quot;: [ # Paths of the imported libraries.
diff --git a/docs/dyn/datacatalog_v1.projects.locations.entryGroups.entries.html b/docs/dyn/datacatalog_v1.projects.locations.entryGroups.entries.html
index b617995..6d273cd 100644
--- a/docs/dyn/datacatalog_v1.projects.locations.entryGroups.entries.html
+++ b/docs/dyn/datacatalog_v1.projects.locations.entryGroups.entries.html
@@ -104,8 +104,14 @@
   <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates an existing entry. You must enable the Data Catalog API in the project identified by the `entry.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).</p>
 <p class="toc_element">
+  <code><a href="#star">star(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Marks an Entry as starred by the current user. Starring information is private to each user.</p>
+<p class="toc_element">
   <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.</p>
+<p class="toc_element">
+  <code><a href="#unstar">unstar(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Marks an Entry as NOT starred by the current user. Starring information is private to each user.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -180,6 +186,10 @@
   },
   &quot;linkedResource&quot;: &quot;A String&quot;, # The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
+  &quot;personalDetails&quot;: { # Entry metadata relevant only to the user and private to them. # Output only. Additional information related to the entry. Private to the current user.
+    &quot;starTime&quot;: &quot;A String&quot;, # Set if the entry is starred; unset otherwise.
+    &quot;starred&quot;: True or False, # True if the entry is starred by the user; false otherwise.
+  },
   &quot;routineSpec&quot;: { # Specification that applies to a routine. Valid only for entries with the `ROUTINE` type. # Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
     &quot;bigqueryRoutineSpec&quot;: { # Fields specific for BigQuery routines. # Fields specific for BigQuery routines.
       &quot;importedLibraries&quot;: [ # Paths of the imported libraries.
@@ -300,6 +310,10 @@
   },
   &quot;linkedResource&quot;: &quot;A String&quot;, # The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
+  &quot;personalDetails&quot;: { # Entry metadata relevant only to the user and private to them. # Output only. Additional information related to the entry. Private to the current user.
+    &quot;starTime&quot;: &quot;A String&quot;, # Set if the entry is starred; unset otherwise.
+    &quot;starred&quot;: True or False, # True if the entry is starred by the user; false otherwise.
+  },
   &quot;routineSpec&quot;: { # Specification that applies to a routine. Valid only for entries with the `ROUTINE` type. # Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
     &quot;bigqueryRoutineSpec&quot;: { # Fields specific for BigQuery routines. # Fields specific for BigQuery routines.
       &quot;importedLibraries&quot;: [ # Paths of the imported libraries.
@@ -444,6 +458,10 @@
   },
   &quot;linkedResource&quot;: &quot;A String&quot;, # The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
+  &quot;personalDetails&quot;: { # Entry metadata relevant only to the user and private to them. # Output only. Additional information related to the entry. Private to the current user.
+    &quot;starTime&quot;: &quot;A String&quot;, # Set if the entry is starred; unset otherwise.
+    &quot;starred&quot;: True or False, # True if the entry is starred by the user; false otherwise.
+  },
   &quot;routineSpec&quot;: { # Specification that applies to a routine. Valid only for entries with the `ROUTINE` type. # Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
     &quot;bigqueryRoutineSpec&quot;: { # Fields specific for BigQuery routines. # Fields specific for BigQuery routines.
       &quot;importedLibraries&quot;: [ # Paths of the imported libraries.
@@ -508,7 +526,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
@@ -618,6 +636,10 @@
       },
       &quot;linkedResource&quot;: &quot;A String&quot;, # The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
+      &quot;personalDetails&quot;: { # Entry metadata relevant only to the user and private to them. # Output only. Additional information related to the entry. Private to the current user.
+        &quot;starTime&quot;: &quot;A String&quot;, # Set if the entry is starred; unset otherwise.
+        &quot;starred&quot;: True or False, # True if the entry is starred by the user; false otherwise.
+      },
       &quot;routineSpec&quot;: { # Specification that applies to a routine. Valid only for entries with the `ROUTINE` type. # Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
         &quot;bigqueryRoutineSpec&quot;: { # Fields specific for BigQuery routines. # Fields specific for BigQuery routines.
           &quot;importedLibraries&quot;: [ # Paths of the imported libraries.
@@ -756,6 +778,10 @@
   },
   &quot;linkedResource&quot;: &quot;A String&quot;, # The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
+  &quot;personalDetails&quot;: { # Entry metadata relevant only to the user and private to them. # Output only. Additional information related to the entry. Private to the current user.
+    &quot;starTime&quot;: &quot;A String&quot;, # Set if the entry is starred; unset otherwise.
+    &quot;starred&quot;: True or False, # True if the entry is starred by the user; false otherwise.
+  },
   &quot;routineSpec&quot;: { # Specification that applies to a routine. Valid only for entries with the `ROUTINE` type. # Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
     &quot;bigqueryRoutineSpec&quot;: { # Fields specific for BigQuery routines. # Fields specific for BigQuery routines.
       &quot;importedLibraries&quot;: [ # Paths of the imported libraries.
@@ -876,6 +902,10 @@
   },
   &quot;linkedResource&quot;: &quot;A String&quot;, # The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
+  &quot;personalDetails&quot;: { # Entry metadata relevant only to the user and private to them. # Output only. Additional information related to the entry. Private to the current user.
+    &quot;starTime&quot;: &quot;A String&quot;, # Set if the entry is starred; unset otherwise.
+    &quot;starred&quot;: True or False, # True if the entry is starred by the user; false otherwise.
+  },
   &quot;routineSpec&quot;: { # Specification that applies to a routine. Valid only for entries with the `ROUTINE` type. # Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
     &quot;bigqueryRoutineSpec&quot;: { # Fields specific for BigQuery routines. # Fields specific for BigQuery routines.
       &quot;importedLibraries&quot;: [ # Paths of the imported libraries.
@@ -930,6 +960,30 @@
 </div>
 
 <div class="method">
+    <code class="details" id="star">star(name, body=None, x__xgafv=None)</code>
+  <pre>Marks an Entry as starred by the current user. Starring information is private to each user.
+
+Args:
+  name: string, Required. The name of the entry to mark as starred. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for StarEntry.
+}
+
+  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 StarEntry. Empty for now
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
   <pre>Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn&#x27;t exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can&#x27;t be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.
 
@@ -959,4 +1013,28 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="unstar">unstar(name, body=None, x__xgafv=None)</code>
+  <pre>Marks an Entry as NOT starred by the current user. Starring information is private to each user.
+
+Args:
+  name: string, Required. The name of the entry to mark as **not** starred. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UnstarEntry.
+}
+
+  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 UnstarEntry. Empty for now
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/datacatalog_v1.projects.locations.entryGroups.entries.tags.html b/docs/dyn/datacatalog_v1.projects.locations.entryGroups.entries.tags.html
index a1d2f3e..11ae5dd 100644
--- a/docs/dyn/datacatalog_v1.projects.locations.entryGroups.entries.tags.html
+++ b/docs/dyn/datacatalog_v1.projects.locations.entryGroups.entries.tags.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 tag and assigns it to: * An Entry if the method name is ``projects.locations.entryGroups.entries.tags.create``. * Or EntryGroupif the method name is ``projects.locations.entryGroups.tags.create``. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.</p>
+<p class="firstline">Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a tag.</p>
@@ -100,7 +100,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Creates a tag and assigns it to: * An Entry if the method name is ``projects.locations.entryGroups.entries.tags.create``. * Or EntryGroupif the method name is ``projects.locations.entryGroups.tags.create``. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.
+  <pre>Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.
 
 Args:
   parent: string, Required. The name of the resource to attach this tag to. Tags can be attached to entries or entry groups. An entry can have up to 1000 attached tags. Note: The tag and its child resources might not be stored in the location specified in its name. (required)
diff --git a/docs/dyn/datacatalog_v1.projects.locations.entryGroups.html b/docs/dyn/datacatalog_v1.projects.locations.entryGroups.html
index 52246bf..c068286 100644
--- a/docs/dyn/datacatalog_v1.projects.locations.entryGroups.html
+++ b/docs/dyn/datacatalog_v1.projects.locations.entryGroups.html
@@ -218,7 +218,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/datacatalog_v1.projects.locations.entryGroups.tags.html b/docs/dyn/datacatalog_v1.projects.locations.entryGroups.tags.html
index 48ac2ba..a6406fa 100644
--- a/docs/dyn/datacatalog_v1.projects.locations.entryGroups.tags.html
+++ b/docs/dyn/datacatalog_v1.projects.locations.entryGroups.tags.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 tag and assigns it to: * An Entry if the method name is ``projects.locations.entryGroups.entries.tags.create``. * Or EntryGroupif the method name is ``projects.locations.entryGroups.tags.create``. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.</p>
+<p class="firstline">Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a tag.</p>
@@ -100,7 +100,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Creates a tag and assigns it to: * An Entry if the method name is ``projects.locations.entryGroups.entries.tags.create``. * Or EntryGroupif the method name is ``projects.locations.entryGroups.tags.create``. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.
+  <pre>Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.
 
 Args:
   parent: string, Required. The name of the resource to attach this tag to. Tags can be attached to entries or entry groups. An entry can have up to 1000 attached tags. Note: The tag and its child resources might not be stored in the location specified in its name. (required)
diff --git a/docs/dyn/datacatalog_v1.projects.locations.tagTemplates.fields.html b/docs/dyn/datacatalog_v1.projects.locations.tagTemplates.fields.html
index 80f4838..45a5040 100644
--- a/docs/dyn/datacatalog_v1.projects.locations.tagTemplates.fields.html
+++ b/docs/dyn/datacatalog_v1.projects.locations.tagTemplates.fields.html
@@ -234,7 +234,7 @@
   <pre>Renames a field in a tag template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project).
 
 Args:
-  name: string, Required. The name of the tag template. (required)
+  name: string, Required. The name of the tag template field. (required)
   body: object, The request body.
     The object takes the form of:
 
diff --git a/docs/dyn/datacatalog_v1.projects.locations.tagTemplates.html b/docs/dyn/datacatalog_v1.projects.locations.tagTemplates.html
index 08e8da3..01c3244 100644
--- a/docs/dyn/datacatalog_v1.projects.locations.tagTemplates.html
+++ b/docs/dyn/datacatalog_v1.projects.locations.tagTemplates.html
@@ -248,7 +248,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
@@ -314,7 +314,7 @@
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the tag template in URL format. Note: The tag template itself and its child resources might not be stored in the location specified in its name.
 }
 
-  updateMask: string, Names of fields whose values to overwrite on a tag template. Currently, only `display_name` and `is_publicly_readable` can be overwritten. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. Note: Updating the ``is_publicly_readable`` field may require up to 12 hours to take effect in search results. Additionally, it also requires the ``tagTemplates.getIamPolicy`` and ``tagTemplates.setIamPolicy`` permissions.
+  updateMask: string, Names of fields whose values to overwrite on a tag template. Currently, only `display_name` and `is_publicly_readable` can be overwritten. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. Note: Updating the `is_publicly_readable` field may require up to 12 hours to take effect in search results. Additionally, it also requires the `tagTemplates.getIamPolicy` and `tagTemplates.setIamPolicy` permissions.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/datacatalog_v1.projects.locations.taxonomies.html b/docs/dyn/datacatalog_v1.projects.locations.taxonomies.html
index 2498b2b..a1988b4 100644
--- a/docs/dyn/datacatalog_v1.projects.locations.taxonomies.html
+++ b/docs/dyn/datacatalog_v1.projects.locations.taxonomies.html
@@ -270,7 +270,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/datacatalog_v1.projects.locations.taxonomies.policyTags.html b/docs/dyn/datacatalog_v1.projects.locations.taxonomies.policyTags.html
index ec8120b..fc3658c 100644
--- a/docs/dyn/datacatalog_v1.projects.locations.taxonomies.policyTags.html
+++ b/docs/dyn/datacatalog_v1.projects.locations.taxonomies.policyTags.html
@@ -202,7 +202,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/datacatalog_v1beta1.catalog.html b/docs/dyn/datacatalog_v1beta1.catalog.html
index 50f245f..566ec89 100644
--- a/docs/dyn/datacatalog_v1beta1.catalog.html
+++ b/docs/dyn/datacatalog_v1beta1.catalog.html
@@ -98,7 +98,7 @@
     The object takes the form of:
 
 { # Request message for SearchCatalog.
-  &quot;orderBy&quot;: &quot;A String&quot;, # Specifies the ordering of results, currently supported case-sensitive choices are: * `relevance`, only supports descending * `last_modified_timestamp [asc|desc]`, defaults to descending if not specified If not specified, defaults to `relevance` descending.
+  &quot;orderBy&quot;: &quot;A String&quot;, # Specifies the ordering of results, currently supported case-sensitive choices are: * `relevance`, only supports descending * `last_modified_timestamp [asc|desc]`, defaults to descending if not specified * `default` that can only be descending If not specified, defaults to `relevance` descending.
   &quot;pageSize&quot;: 42, # Number of results in the search page. If &lt;=0 then defaults to 10. Max limit for page_size is 1000. Throws an invalid argument for page_size &gt; 1000.
   &quot;pageToken&quot;: &quot;A String&quot;, # Optional. Pagination token returned in an earlier SearchCatalogResponse.next_page_token, which indicates that this is a continuation of a prior SearchCatalogRequest call, and that the system should return the next page of data. If empty, the first page is returned.
   &quot;query&quot;: &quot;A String&quot;, # Optional. The query string in search query syntax. An empty query string will result in all data assets (in the specified scope) that the user has access to. Query strings can be simple as &quot;x&quot; or more qualified as: * name:x * column:x * description:y Note: Query tokens need to have a minimum of 3 characters for substring matching to work correctly. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.
diff --git a/docs/dyn/datacatalog_v1beta1.entries.html b/docs/dyn/datacatalog_v1beta1.entries.html
index 253a43a..4d75846 100644
--- a/docs/dyn/datacatalog_v1beta1.entries.html
+++ b/docs/dyn/datacatalog_v1beta1.entries.html
@@ -92,7 +92,7 @@
 
 Args:
   linkedResource: string, The full name of the Google Cloud Platform resource the Data Catalog entry represents. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Full names are case-sensitive. Examples: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId
-  sqlResource: string, The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s shoud satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.
+  sqlResource: string, The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s should satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/datacatalog_v1beta1.projects.locations.entryGroups.entries.html b/docs/dyn/datacatalog_v1beta1.projects.locations.entryGroups.entries.html
index 0c6d7c5..88ee357 100644
--- a/docs/dyn/datacatalog_v1beta1.projects.locations.entryGroups.entries.html
+++ b/docs/dyn/datacatalog_v1beta1.projects.locations.entryGroups.entries.html
@@ -385,7 +385,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/datacatalog_v1beta1.projects.locations.entryGroups.html b/docs/dyn/datacatalog_v1beta1.projects.locations.entryGroups.html
index a130042..4c0dc09 100644
--- a/docs/dyn/datacatalog_v1beta1.projects.locations.entryGroups.html
+++ b/docs/dyn/datacatalog_v1beta1.projects.locations.entryGroups.html
@@ -218,7 +218,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/datacatalog_v1beta1.projects.locations.tagTemplates.html b/docs/dyn/datacatalog_v1beta1.projects.locations.tagTemplates.html
index 4f4a7cc..d8413e3 100644
--- a/docs/dyn/datacatalog_v1beta1.projects.locations.tagTemplates.html
+++ b/docs/dyn/datacatalog_v1beta1.projects.locations.tagTemplates.html
@@ -245,7 +245,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/datacatalog_v1beta1.projects.locations.taxonomies.html b/docs/dyn/datacatalog_v1beta1.projects.locations.taxonomies.html
index db3862c..3a24dcc 100644
--- a/docs/dyn/datacatalog_v1beta1.projects.locations.taxonomies.html
+++ b/docs/dyn/datacatalog_v1beta1.projects.locations.taxonomies.html
@@ -267,7 +267,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/datacatalog_v1beta1.projects.locations.taxonomies.policyTags.html b/docs/dyn/datacatalog_v1beta1.projects.locations.taxonomies.policyTags.html
index e923dd5..5e879f8 100644
--- a/docs/dyn/datacatalog_v1beta1.projects.locations.taxonomies.policyTags.html
+++ b/docs/dyn/datacatalog_v1beta1.projects.locations.taxonomies.policyTags.html
@@ -202,7 +202,7 @@
 
 { # Request message for `GetIamPolicy` method.
   &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;requestedPolicyVersion&quot;: 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   },
 }
 
diff --git a/docs/dyn/datamigration_v1.projects.locations.connectionProfiles.html b/docs/dyn/datamigration_v1.projects.locations.connectionProfiles.html
index 06c28c9..2dbf23a 100644
--- a/docs/dyn/datamigration_v1.projects.locations.connectionProfiles.html
+++ b/docs/dyn/datamigration_v1.projects.locations.connectionProfiles.html
@@ -127,6 +127,7 @@
     &quot;settings&quot;: { # Settings for creating a Cloud SQL database instance. # Immutable. Metadata used to create the destination Cloud SQL database.
       &quot;activationPolicy&quot;: &quot;A String&quot;, # The activation policy specifies when the instance is activated; it is applicable only when the instance state is &#x27;RUNNABLE&#x27;. Valid values: &#x27;ALWAYS&#x27;: The instance is on, and remains so even in the absence of connection requests. `NEVER`: The instance is off; it is not activated, even if a connection request arrives.
       &quot;autoStorageIncrease&quot;: True or False, # [default: ON] If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
+      &quot;cmekKeyName&quot;: &quot;A String&quot;, # The KMS key name used for the csql instance.
       &quot;collation&quot;: &quot;A String&quot;, # The Cloud SQL default instance level collation.
       &quot;dataDiskSizeGb&quot;: &quot;A String&quot;, # The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
       &quot;dataDiskType&quot;: &quot;A String&quot;, # The type of storage: `PD_SSD` (default) or `PD_HDD`.
@@ -296,6 +297,7 @@
     &quot;settings&quot;: { # Settings for creating a Cloud SQL database instance. # Immutable. Metadata used to create the destination Cloud SQL database.
       &quot;activationPolicy&quot;: &quot;A String&quot;, # The activation policy specifies when the instance is activated; it is applicable only when the instance state is &#x27;RUNNABLE&#x27;. Valid values: &#x27;ALWAYS&#x27;: The instance is on, and remains so even in the absence of connection requests. `NEVER`: The instance is off; it is not activated, even if a connection request arrives.
       &quot;autoStorageIncrease&quot;: True or False, # [default: ON] If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
+      &quot;cmekKeyName&quot;: &quot;A String&quot;, # The KMS key name used for the csql instance.
       &quot;collation&quot;: &quot;A String&quot;, # The Cloud SQL default instance level collation.
       &quot;dataDiskSizeGb&quot;: &quot;A String&quot;, # The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
       &quot;dataDiskType&quot;: &quot;A String&quot;, # The type of storage: `PD_SSD` (default) or `PD_HDD`.
@@ -382,7 +384,7 @@
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
-  options_requestedPolicyVersion: integer, Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  options_requestedPolicyVersion: integer, Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -452,6 +454,7 @@
         &quot;settings&quot;: { # Settings for creating a Cloud SQL database instance. # Immutable. Metadata used to create the destination Cloud SQL database.
           &quot;activationPolicy&quot;: &quot;A String&quot;, # The activation policy specifies when the instance is activated; it is applicable only when the instance state is &#x27;RUNNABLE&#x27;. Valid values: &#x27;ALWAYS&#x27;: The instance is on, and remains so even in the absence of connection requests. `NEVER`: The instance is off; it is not activated, even if a connection request arrives.
           &quot;autoStorageIncrease&quot;: True or False, # [default: ON] If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
+          &quot;cmekKeyName&quot;: &quot;A String&quot;, # The KMS key name used for the csql instance.
           &quot;collation&quot;: &quot;A String&quot;, # The Cloud SQL default instance level collation.
           &quot;dataDiskSizeGb&quot;: &quot;A String&quot;, # The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
           &quot;dataDiskType&quot;: &quot;A String&quot;, # The type of storage: `PD_SSD` (default) or `PD_HDD`.
@@ -569,6 +572,7 @@
     &quot;settings&quot;: { # Settings for creating a Cloud SQL database instance. # Immutable. Metadata used to create the destination Cloud SQL database.
       &quot;activationPolicy&quot;: &quot;A String&quot;, # The activation policy specifies when the instance is activated; it is applicable only when the instance state is &#x27;RUNNABLE&#x27;. Valid values: &#x27;ALWAYS&#x27;: The instance is on, and remains so even in the absence of connection requests. `NEVER`: The instance is off; it is not activated, even if a connection request arrives.
       &quot;autoStorageIncrease&quot;: True or False, # [default: ON] If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
+      &quot;cmekKeyName&quot;: &quot;A String&quot;, # The KMS key name used for the csql instance.
       &quot;collation&quot;: &quot;A String&quot;, # The Cloud SQL default instance level collation.
       &quot;dataDiskSizeGb&quot;: &quot;A String&quot;, # The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
       &quot;dataDiskType&quot;: &quot;A String&quot;, # The type of storage: `PD_SSD` (default) or `PD_HDD`.
diff --git a/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html b/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html
index e030846..3cfab40 100644
--- a/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html
+++ b/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html
@@ -356,7 +356,7 @@
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
-  options_requestedPolicyVersion: integer, Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  options_requestedPolicyVersion: integer, Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/datamigration_v1beta1.projects.locations.connectionProfiles.html b/docs/dyn/datamigration_v1beta1.projects.locations.connectionProfiles.html
index 864d5e2..10887c3 100644
--- a/docs/dyn/datamigration_v1beta1.projects.locations.connectionProfiles.html
+++ b/docs/dyn/datamigration_v1beta1.projects.locations.connectionProfiles.html
@@ -352,7 +352,7 @@
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
-  options_requestedPolicyVersion: integer, Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  options_requestedPolicyVersion: integer, Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/datamigration_v1beta1.projects.locations.migrationJobs.html b/docs/dyn/datamigration_v1beta1.projects.locations.migrationJobs.html
index e86092b..c3c8c78 100644
--- a/docs/dyn/datamigration_v1beta1.projects.locations.migrationJobs.html
+++ b/docs/dyn/datamigration_v1beta1.projects.locations.migrationJobs.html
@@ -356,7 +356,7 @@
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
-  options_requestedPolicyVersion: integer, Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  options_requestedPolicyVersion: integer, Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/dialogflow_v2.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2.projects.conversationProfiles.html
index 4d0b547..7ddd954 100644
--- a/docs/dyn/dialogflow_v2.projects.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2.projects.conversationProfiles.html
@@ -232,7 +232,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -368,7 +368,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -529,7 +529,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -676,7 +676,7 @@
       },
       &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
       &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-        &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+        &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
       },
       &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -831,7 +831,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -968,7 +968,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html
index c7187d8..af28f9e 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html
@@ -232,7 +232,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -368,7 +368,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -529,7 +529,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -676,7 +676,7 @@
       },
       &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
       &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-        &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+        &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
       },
       &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -831,7 +831,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -968,7 +968,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
index d291b03..b583f00 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
@@ -232,7 +232,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -368,7 +368,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -529,7 +529,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -676,7 +676,7 @@
       },
       &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
       &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-        &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+        &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
       },
       &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -831,7 +831,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -968,7 +968,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
index 33419ce..e4bad77 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
@@ -232,7 +232,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -368,7 +368,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -529,7 +529,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -676,7 +676,7 @@
       },
       &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
       &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-        &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+        &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
       },
       &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -831,7 +831,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
@@ -968,7 +968,7 @@
   },
   &quot;securitySettings&quot;: &quot;A String&quot;, # Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.
   &quot;sttConfig&quot;: { # Configures speech transcription for ConversationProfile. # Settings for speech transcription.
-    &quot;speechModelVariant&quot;: &quot;A String&quot;, # Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.
+    &quot;speechModelVariant&quot;: &quot;A String&quot;, # The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.
   },
   &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time of the conversation profile.
diff --git a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
index d1c0f43..c492940 100644
--- a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
+++ b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
@@ -311,6 +311,11 @@
                     &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
                   },
                 ],
+                &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+                  { # General identifier of a data field in a storage service.
+                    &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+                  },
+                ],
                 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
                 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
                 &quot;sampleMethod&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html b/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
index 31507cf..7d8534f 100644
--- a/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
+++ b/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
@@ -306,6 +306,11 @@
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
           ],
+          &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+            { # General identifier of a data field in a storage service.
+              &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+            },
+          ],
           &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -592,6 +597,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -900,6 +910,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1202,6 +1217,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1505,6 +1525,11 @@
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
           ],
+          &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+            { # General identifier of a data field in a storage service.
+              &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+            },
+          ],
           &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1790,6 +1815,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/dlp_v2.projects.dlpJobs.html b/docs/dyn/dlp_v2.projects.dlpJobs.html
index 8e87ec6..ba24cd1 100644
--- a/docs/dyn/dlp_v2.projects.dlpJobs.html
+++ b/docs/dyn/dlp_v2.projects.dlpJobs.html
@@ -310,6 +310,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -723,6 +728,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1708,6 +1718,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -2687,6 +2702,11 @@
                     &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
                   },
                 ],
+                &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+                  { # General identifier of a data field in a storage service.
+                    &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+                  },
+                ],
                 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
                 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
                 &quot;sampleMethod&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/dlp_v2.projects.jobTriggers.html b/docs/dyn/dlp_v2.projects.jobTriggers.html
index 880c64f..39953de 100644
--- a/docs/dyn/dlp_v2.projects.jobTriggers.html
+++ b/docs/dyn/dlp_v2.projects.jobTriggers.html
@@ -315,6 +315,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1282,6 +1287,11 @@
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
           ],
+          &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+            { # General identifier of a data field in a storage service.
+              &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+            },
+          ],
           &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1568,6 +1578,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1876,6 +1891,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -2178,6 +2198,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -2481,6 +2506,11 @@
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
           ],
+          &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+            { # General identifier of a data field in a storage service.
+              &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+            },
+          ],
           &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -2766,6 +2796,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
index 9ee100e..b16ce51 100644
--- a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
+++ b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
@@ -316,6 +316,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -729,6 +734,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1738,6 +1748,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -2805,6 +2820,11 @@
                     &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
                   },
                 ],
+                &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+                  { # General identifier of a data field in a storage service.
+                    &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+                  },
+                ],
                 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
                 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
                 &quot;sampleMethod&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
index 511af15..c2d82d1 100644
--- a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
+++ b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
@@ -318,6 +318,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1285,6 +1290,11 @@
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
           ],
+          &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+            { # General identifier of a data field in a storage service.
+              &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+            },
+          ],
           &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1571,6 +1581,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -1879,6 +1894,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -2269,6 +2289,11 @@
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
             ],
+            &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+              { # General identifier of a data field in a storage service.
+                &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+              },
+            ],
             &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
             &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -2572,6 +2597,11 @@
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
           ],
+          &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+            { # General identifier of a data field in a storage service.
+              &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+            },
+          ],
           &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
           &quot;sampleMethod&quot;: &quot;A String&quot;,
@@ -2857,6 +2887,11 @@
             &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
           },
         ],
+        &quot;includedFields&quot;: [ # Limit scanning only to these fields.
+          { # General identifier of a data field in a storage service.
+            &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
+          },
+        ],
         &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.
         &quot;sampleMethod&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/documentai_v1.projects.locations.processors.html b/docs/dyn/documentai_v1.projects.locations.processors.html
index a8a39d7..7940282 100644
--- a/docs/dyn/documentai_v1.projects.locations.processors.html
+++ b/docs/dyn/documentai_v1.projects.locations.processors.html
@@ -508,10 +508,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -587,10 +587,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -676,10 +676,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -765,10 +765,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -815,10 +815,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -829,10 +829,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1002,10 +1002,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1073,6 +1073,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -1089,10 +1092,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1245,10 +1248,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1324,10 +1327,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1413,10 +1416,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1502,10 +1505,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1552,10 +1555,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1566,10 +1569,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1739,10 +1742,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1810,6 +1813,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -1826,10 +1832,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
diff --git a/docs/dyn/documentai_v1.projects.locations.processors.humanReviewConfig.html b/docs/dyn/documentai_v1.projects.locations.processors.humanReviewConfig.html
index dc23bee..6ef1ba8 100644
--- a/docs/dyn/documentai_v1.projects.locations.processors.humanReviewConfig.html
+++ b/docs/dyn/documentai_v1.projects.locations.processors.humanReviewConfig.html
@@ -182,10 +182,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -261,10 +261,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -350,10 +350,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -439,10 +439,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -489,10 +489,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -503,10 +503,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -676,10 +676,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -747,6 +747,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -763,10 +766,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
diff --git a/docs/dyn/documentai_v1.projects.locations.processors.processorVersions.html b/docs/dyn/documentai_v1.projects.locations.processors.processorVersions.html
index d684be7..91237c4 100644
--- a/docs/dyn/documentai_v1.projects.locations.processors.processorVersions.html
+++ b/docs/dyn/documentai_v1.projects.locations.processors.processorVersions.html
@@ -403,10 +403,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -482,10 +482,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -571,10 +571,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -660,10 +660,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -710,10 +710,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -724,10 +724,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -897,10 +897,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -968,6 +968,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -984,10 +987,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1140,10 +1143,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1219,10 +1222,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1308,10 +1311,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1397,10 +1400,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1447,10 +1450,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1461,10 +1464,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1634,10 +1637,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1705,6 +1708,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -1721,10 +1727,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
diff --git a/docs/dyn/documentai_v1beta2.projects.documents.html b/docs/dyn/documentai_v1beta2.projects.documents.html
index c9ff699..8035055 100644
--- a/docs/dyn/documentai_v1beta2.projects.documents.html
+++ b/docs/dyn/documentai_v1beta2.projects.documents.html
@@ -369,10 +369,10 @@
       &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
         &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
         &quot;parents&quot;: [ # References to the original elements that are replaced.
-          { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+          { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
             &quot;id&quot;: 42, # The id of the parent provenance.
             &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-            &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+            &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
           },
         ],
         &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -455,10 +455,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -544,10 +544,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -633,10 +633,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -683,10 +683,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -697,10 +697,10 @@
       &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
         &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
         &quot;parents&quot;: [ # References to the original elements that are replaced.
-          { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+          { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
             &quot;id&quot;: 42, # The id of the parent provenance.
             &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-            &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+            &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
           },
         ],
         &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -870,10 +870,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -941,6 +941,9 @@
       &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
         42,
       ],
+      &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+        &quot;A String&quot;,
+      ],
       &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
     },
   ],
@@ -957,10 +960,10 @@
         { # Structure to identify provenance relationships between annotations in different revisions.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
diff --git a/docs/dyn/documentai_v1beta2.projects.locations.documents.html b/docs/dyn/documentai_v1beta2.projects.locations.documents.html
index 54d7424..d2fb529 100644
--- a/docs/dyn/documentai_v1beta2.projects.locations.documents.html
+++ b/docs/dyn/documentai_v1beta2.projects.locations.documents.html
@@ -369,10 +369,10 @@
       &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
         &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
         &quot;parents&quot;: [ # References to the original elements that are replaced.
-          { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+          { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
             &quot;id&quot;: 42, # The id of the parent provenance.
             &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-            &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+            &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
           },
         ],
         &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -455,10 +455,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -544,10 +544,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -633,10 +633,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -683,10 +683,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -697,10 +697,10 @@
       &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
         &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
         &quot;parents&quot;: [ # References to the original elements that are replaced.
-          { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+          { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
             &quot;id&quot;: 42, # The id of the parent provenance.
             &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-            &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+            &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
           },
         ],
         &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -870,10 +870,10 @@
           &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -941,6 +941,9 @@
       &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
         42,
       ],
+      &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+        &quot;A String&quot;,
+      ],
       &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
     },
   ],
@@ -957,10 +960,10 @@
         { # Structure to identify provenance relationships between annotations in different revisions.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
diff --git a/docs/dyn/documentai_v1beta3.projects.locations.processors.html b/docs/dyn/documentai_v1beta3.projects.locations.processors.html
index 0d0828c..4e65734 100644
--- a/docs/dyn/documentai_v1beta3.projects.locations.processors.html
+++ b/docs/dyn/documentai_v1beta3.projects.locations.processors.html
@@ -517,10 +517,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -596,10 +596,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -685,10 +685,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -774,10 +774,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -824,10 +824,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -838,10 +838,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1011,10 +1011,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1082,6 +1082,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -1098,10 +1101,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1238,10 +1241,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1317,10 +1320,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1406,10 +1409,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1495,10 +1498,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1545,10 +1548,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1559,10 +1562,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1732,10 +1735,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1803,6 +1806,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -1819,10 +1825,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1975,10 +1981,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2054,10 +2060,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2143,10 +2149,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2232,10 +2238,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2282,10 +2288,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2296,10 +2302,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2469,10 +2475,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2540,6 +2546,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -2556,10 +2565,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
diff --git a/docs/dyn/documentai_v1beta3.projects.locations.processors.humanReviewConfig.html b/docs/dyn/documentai_v1beta3.projects.locations.processors.humanReviewConfig.html
index 1b2f02b..7416f27 100644
--- a/docs/dyn/documentai_v1beta3.projects.locations.processors.humanReviewConfig.html
+++ b/docs/dyn/documentai_v1beta3.projects.locations.processors.humanReviewConfig.html
@@ -181,10 +181,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -260,10 +260,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -349,10 +349,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -438,10 +438,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -488,10 +488,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -502,10 +502,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -675,10 +675,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -746,6 +746,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -762,10 +765,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -903,10 +906,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -982,10 +985,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1071,10 +1074,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1160,10 +1163,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1210,10 +1213,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1224,10 +1227,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1397,10 +1400,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1468,6 +1471,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -1484,10 +1490,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
diff --git a/docs/dyn/documentai_v1beta3.projects.locations.processors.processorVersions.html b/docs/dyn/documentai_v1beta3.projects.locations.processors.processorVersions.html
index 0aa447d..5ae4b7c 100644
--- a/docs/dyn/documentai_v1beta3.projects.locations.processors.processorVersions.html
+++ b/docs/dyn/documentai_v1beta3.projects.locations.processors.processorVersions.html
@@ -412,10 +412,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -491,10 +491,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -580,10 +580,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -669,10 +669,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -719,10 +719,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -733,10 +733,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -906,10 +906,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -977,6 +977,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -993,10 +996,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1133,10 +1136,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1212,10 +1215,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1301,10 +1304,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1390,10 +1393,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1440,10 +1443,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1454,10 +1457,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1627,10 +1630,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1698,6 +1701,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -1714,10 +1720,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1870,10 +1876,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # Optional. The history of this annotation.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -1949,10 +1955,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2038,10 +2044,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2127,10 +2133,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2177,10 +2183,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2191,10 +2197,10 @@
         &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this page.
           &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
           &quot;parents&quot;: [ # References to the original elements that are replaced.
-            { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+            { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
               &quot;id&quot;: 42, # The id of the parent provenance.
               &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-              &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+              &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
             },
           ],
           &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2364,10 +2370,10 @@
             &quot;provenance&quot;: { # Structure to identify provenance relationships between annotations in different revisions. # The history of this annotation.
               &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
               &quot;parents&quot;: [ # References to the original elements that are replaced.
-                { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+                { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                   &quot;id&quot;: 42, # The id of the parent provenance.
                   &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                  &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                  &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
                 },
               ],
               &quot;revision&quot;: 42, # The index of the revision that produced this element.
@@ -2435,6 +2441,9 @@
         &quot;parent&quot;: [ # The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.
           42,
         ],
+        &quot;parentIds&quot;: [ # The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.
+          &quot;A String&quot;,
+        ],
         &quot;processor&quot;: &quot;A String&quot;, # If the annotation was made by processor identify the processor by its resource name.
       },
     ],
@@ -2451,10 +2460,10 @@
           { # Structure to identify provenance relationships between annotations in different revisions.
             &quot;id&quot;: 42, # The Id of this operation. Needs to be unique within the scope of the revision.
             &quot;parents&quot;: [ # References to the original elements that are replaced.
-              { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
+              { # The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
                 &quot;id&quot;: 42, # The id of the parent provenance.
                 &quot;index&quot;: 42, # The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) on parent revision.
-                &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
+                &quot;revision&quot;: 42, # The index of the index into current revision&#x27;s parent_ids list.
               },
             ],
             &quot;revision&quot;: 42, # The index of the revision that produced this element.
diff --git a/docs/dyn/drive_v2.files.html b/docs/dyn/drive_v2.files.html
index 9746623..9300de1 100644
--- a/docs/dyn/drive_v2.files.html
+++ b/docs/dyn/drive_v2.files.html
@@ -112,7 +112,7 @@
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
   <code><a href="#patch">patch(fileId, addParents=None, body=None, convert=None, enforceSingleParent=None, includePermissionsForView=None, modifiedDateBehavior=None, newRevision=None, ocr=None, ocrLanguage=None, pinned=None, removeParents=None, setModifiedDate=None, supportsAllDrives=None, supportsTeamDrives=None, timedTextLanguage=None, timedTextTrackName=None, updateViewedDate=None, useContentAsIndexableText=None)</a></code></p>
-<p class="firstline">Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might might change automatically, such as modifiedDate. This method supports patch semantics.</p>
+<p class="firstline">Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change automatically, such as modifiedDate. This method supports patch semantics.</p>
 <p class="toc_element">
   <code><a href="#touch">touch(fileId, includePermissionsForView=None, supportsAllDrives=None, supportsTeamDrives=None)</a></code></p>
 <p class="firstline">Set the file's updated time to the current server time.</p>
@@ -2620,7 +2620,7 @@
 
 <div class="method">
     <code class="details" id="patch">patch(fileId, addParents=None, body=None, convert=None, enforceSingleParent=None, includePermissionsForView=None, modifiedDateBehavior=None, newRevision=None, ocr=None, ocrLanguage=None, pinned=None, removeParents=None, setModifiedDate=None, supportsAllDrives=None, supportsTeamDrives=None, timedTextLanguage=None, timedTextTrackName=None, updateViewedDate=None, useContentAsIndexableText=None)</code>
-  <pre>Updates a file&#x27;s metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might might change automatically, such as modifiedDate. This method supports patch semantics.
+  <pre>Updates a file&#x27;s metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change automatically, such as modifiedDate. This method supports patch semantics.
 
 Args:
   fileId: string, The ID of the file to update. (required)
diff --git a/docs/dyn/eventarc_v1.projects.locations.triggers.html b/docs/dyn/eventarc_v1.projects.locations.triggers.html
index 758385c..fe05f85 100644
--- a/docs/dyn/eventarc_v1.projects.locations.triggers.html
+++ b/docs/dyn/eventarc_v1.projects.locations.triggers.html
@@ -122,7 +122,7 @@
 { # A representation of the trigger resource.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
   &quot;destination&quot;: { # Represents a target of an invocation over HTTP. # Required. Destination specifies where the events should be sent to.
-    &quot;cloudRun&quot;: { # Represents a Cloud Run destination. # Cloud Run fully-managed service that receives the events. The service should be running in the same project of the trigger.
+    &quot;cloudRun&quot;: { # Represents a Cloud Run destination. # Cloud Run fully-managed resource that receives the events. The resource should be in the same project as the trigger.
       &quot;path&quot;: &quot;A String&quot;, # Optional. The relative path on the Cloud Run service the events should be sent to. The value must conform to the definition of URI path segment (section 3.3 of RFC2396). Examples: &quot;/route&quot;, &quot;route&quot;, &quot;route/subroute&quot;.
       &quot;region&quot;: &quot;A String&quot;, # Required. The region the Cloud Run service is deployed in.
       &quot;service&quot;: &quot;A String&quot;, # Required. The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. Only services located in the same project of the trigger object can be addressed.
@@ -243,7 +243,7 @@
     { # A representation of the trigger resource.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
   &quot;destination&quot;: { # Represents a target of an invocation over HTTP. # Required. Destination specifies where the events should be sent to.
-    &quot;cloudRun&quot;: { # Represents a Cloud Run destination. # Cloud Run fully-managed service that receives the events. The service should be running in the same project of the trigger.
+    &quot;cloudRun&quot;: { # Represents a Cloud Run destination. # Cloud Run fully-managed resource that receives the events. The resource should be in the same project as the trigger.
       &quot;path&quot;: &quot;A String&quot;, # Optional. The relative path on the Cloud Run service the events should be sent to. The value must conform to the definition of URI path segment (section 3.3 of RFC2396). Examples: &quot;/route&quot;, &quot;route&quot;, &quot;route/subroute&quot;.
       &quot;region&quot;: &quot;A String&quot;, # Required. The region the Cloud Run service is deployed in.
       &quot;service&quot;: &quot;A String&quot;, # Required. The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. Only services located in the same project of the trigger object can be addressed.
@@ -350,7 +350,7 @@
     { # A representation of the trigger resource.
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
       &quot;destination&quot;: { # Represents a target of an invocation over HTTP. # Required. Destination specifies where the events should be sent to.
-        &quot;cloudRun&quot;: { # Represents a Cloud Run destination. # Cloud Run fully-managed service that receives the events. The service should be running in the same project of the trigger.
+        &quot;cloudRun&quot;: { # Represents a Cloud Run destination. # Cloud Run fully-managed resource that receives the events. The resource should be in the same project as the trigger.
           &quot;path&quot;: &quot;A String&quot;, # Optional. The relative path on the Cloud Run service the events should be sent to. The value must conform to the definition of URI path segment (section 3.3 of RFC2396). Examples: &quot;/route&quot;, &quot;route&quot;, &quot;route/subroute&quot;.
           &quot;region&quot;: &quot;A String&quot;, # Required. The region the Cloud Run service is deployed in.
           &quot;service&quot;: &quot;A String&quot;, # Required. The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. Only services located in the same project of the trigger object can be addressed.
@@ -417,7 +417,7 @@
 { # A representation of the trigger resource.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
   &quot;destination&quot;: { # Represents a target of an invocation over HTTP. # Required. Destination specifies where the events should be sent to.
-    &quot;cloudRun&quot;: { # Represents a Cloud Run destination. # Cloud Run fully-managed service that receives the events. The service should be running in the same project of the trigger.
+    &quot;cloudRun&quot;: { # Represents a Cloud Run destination. # Cloud Run fully-managed resource that receives the events. The resource should be in the same project as the trigger.
       &quot;path&quot;: &quot;A String&quot;, # Optional. The relative path on the Cloud Run service the events should be sent to. The value must conform to the definition of URI path segment (section 3.3 of RFC2396). Examples: &quot;/route&quot;, &quot;route&quot;, &quot;route/subroute&quot;.
       &quot;region&quot;: &quot;A String&quot;, # Required. The region the Cloud Run service is deployed in.
       &quot;service&quot;: &quot;A String&quot;, # Required. The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. Only services located in the same project of the trigger object can be addressed.
diff --git a/docs/dyn/gkehub_v1.projects.locations.memberships.html b/docs/dyn/gkehub_v1.projects.locations.memberships.html
index e931fb6..4e0566a 100644
--- a/docs/dyn/gkehub_v1.projects.locations.memberships.html
+++ b/docs/dyn/gkehub_v1.projects.locations.memberships.html
@@ -161,6 +161,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
@@ -340,6 +341,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
@@ -475,6 +477,7 @@
           ],
           &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
             &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+            &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
             &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
           },
         },
@@ -569,6 +572,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.features.html b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
index 5f6be6e..86cfcf2 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
@@ -127,6 +127,10 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;anthosobservability&quot;: { # **Anthosobservability**: Per-Membership Feature spec. # Anthos Observability-specific spec
+        &quot;doNotOptimizeMetrics&quot;: True or False, # use full of metrics rather than optimized metrics. See https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics
+        &quot;enableStackdriverOnApplications&quot;: True or False, # enable collecting and reporting metrics and logs from user apps See go/onyx-application-metrics-logs-user-guide
+      },
       &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
@@ -520,6 +524,10 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;anthosobservability&quot;: { # **Anthosobservability**: Per-Membership Feature spec. # Anthos Observability-specific spec
+        &quot;doNotOptimizeMetrics&quot;: True or False, # use full of metrics rather than optimized metrics. See https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics
+        &quot;enableStackdriverOnApplications&quot;: True or False, # enable collecting and reporting metrics and logs from user apps See go/onyx-application-metrics-logs-user-guide
+      },
       &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
@@ -901,6 +909,10 @@
       },
       &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
         &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+          &quot;anthosobservability&quot;: { # **Anthosobservability**: Per-Membership Feature spec. # Anthos Observability-specific spec
+            &quot;doNotOptimizeMetrics&quot;: True or False, # use full of metrics rather than optimized metrics. See https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics
+            &quot;enableStackdriverOnApplications&quot;: True or False, # enable collecting and reporting metrics and logs from user apps See go/onyx-application-metrics-logs-user-guide
+          },
           &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
             &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
               &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
@@ -1238,6 +1250,10 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;anthosobservability&quot;: { # **Anthosobservability**: Per-Membership Feature spec. # Anthos Observability-specific spec
+        &quot;doNotOptimizeMetrics&quot;: True or False, # use full of metrics rather than optimized metrics. See https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics
+        &quot;enableStackdriverOnApplications&quot;: True or False, # enable collecting and reporting metrics and logs from user apps See go/onyx-application-metrics-logs-user-guide
+      },
       &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.memberships.html b/docs/dyn/gkehub_v1alpha.projects.locations.memberships.html
index afb1879..63ba5c0 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.memberships.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.memberships.html
@@ -167,6 +167,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
@@ -346,6 +347,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
@@ -481,6 +483,7 @@
           ],
           &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
             &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+            &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
             &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
           },
         },
@@ -572,6 +575,7 @@
           ],
           &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
             &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+            &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
             &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
           },
         },
@@ -681,6 +685,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
diff --git a/docs/dyn/gkehub_v1alpha2.projects.locations.memberships.html b/docs/dyn/gkehub_v1alpha2.projects.locations.memberships.html
index e79ac25..651c4ac 100644
--- a/docs/dyn/gkehub_v1alpha2.projects.locations.memberships.html
+++ b/docs/dyn/gkehub_v1alpha2.projects.locations.memberships.html
@@ -161,6 +161,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
@@ -339,6 +340,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
@@ -475,6 +477,7 @@
           ],
           &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
             &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+            &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
             &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
           },
         },
@@ -570,6 +573,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
diff --git a/docs/dyn/gkehub_v1beta1.projects.locations.memberships.html b/docs/dyn/gkehub_v1beta1.projects.locations.memberships.html
index 128899f..0113c98 100644
--- a/docs/dyn/gkehub_v1beta1.projects.locations.memberships.html
+++ b/docs/dyn/gkehub_v1beta1.projects.locations.memberships.html
@@ -167,6 +167,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
@@ -372,6 +373,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
@@ -510,6 +512,7 @@
           ],
           &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
             &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+            &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
             &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
           },
         },
@@ -607,6 +610,7 @@
       ],
       &quot;resourceOptions&quot;: { # ResourceOptions represent options for Kubernetes resource generation. # Optional. Options for Kubernetes resource generation.
         &quot;connectVersion&quot;: &quot;A String&quot;, # Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
+        &quot;k8sVersion&quot;: &quot;A String&quot;, # Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.
         &quot;v1beta1Crd&quot;: True or False, # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions &lt;1.16.
       },
     },
diff --git a/docs/dyn/iamcredentials_v1.projects.serviceAccounts.html b/docs/dyn/iamcredentials_v1.projects.serviceAccounts.html
index 23c1969..19d849f 100644
--- a/docs/dyn/iamcredentials_v1.projects.serviceAccounts.html
+++ b/docs/dyn/iamcredentials_v1.projects.serviceAccounts.html
@@ -105,7 +105,7 @@
     The object takes the form of:
 
 {
-  &quot;delegates&quot;: [ # The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.
+  &quot;delegates&quot;: [ # The sequence of service accounts in a delegation chain. This field is required for [delegated requests](https://cloud.google.com/iam/help/credentials/delegated-request). For [direct requests](https://cloud.google.com/iam/help/credentials/direct-request), which are more common, do not specify this field. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.
     &quot;A String&quot;,
   ],
   &quot;lifetime&quot;: &quot;A String&quot;, # The desired lifetime duration of the access token in seconds. By default, the maximum allowed value is 1 hour. To set a lifetime of up to 12 hours, you can add the service account as an allowed value in an Organization Policy that enforces the `constraints/iam.allowServiceAccountCredentialLifetimeExtension` constraint. See detailed instructions at https://cloud.google.com/iam/help/credentials/lifetime If a value is not specified, the token&#x27;s lifetime will be set to a default value of 1 hour.
diff --git a/docs/dyn/index.md b/docs/dyn/index.md
index 3c97a73..8d22e86 100644
--- a/docs/dyn/index.md
+++ b/docs/dyn/index.md
@@ -587,6 +587,10 @@
 * [v3](http://googleapis.github.io/google-api-python-client/docs/dyn/identitytoolkit_v3.html)
 
 
+## ids
+* [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/ids_v1.html)
+
+
 ## indexing
 * [v3](http://googleapis.github.io/google-api-python-client/docs/dyn/indexing_v3.html)
 
@@ -975,6 +979,7 @@
 
 
 ## transcoder
+* [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/transcoder_v1.html)
 * [v1beta1](http://googleapis.github.io/google-api-python-client/docs/dyn/transcoder_v1beta1.html)
 
 
diff --git a/docs/dyn/logging_v2.billingAccounts.buckets.html b/docs/dyn/logging_v2.billingAccounts.buckets.html
index 367338f..fe94f16 100644
--- a/docs/dyn/logging_v2.billingAccounts.buckets.html
+++ b/docs/dyn/logging_v2.billingAccounts.buckets.html
@@ -109,7 +109,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
diff --git a/docs/dyn/logging_v2.billingAccounts.html b/docs/dyn/logging_v2.billingAccounts.html
index c2bee3b..6daf627 100644
--- a/docs/dyn/logging_v2.billingAccounts.html
+++ b/docs/dyn/logging_v2.billingAccounts.html
@@ -109,7 +109,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#getCmekSettings">getCmekSettings(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
+<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -118,7 +118,7 @@
 
 <div class="method">
     <code class="details" id="getCmekSettings">getCmekSettings(name, x__xgafv=None)</code>
-  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 
 Args:
   name: string, Required. The resource for which to retrieve CMEK settings. &quot;projects/[PROJECT_ID]/cmekSettings&quot; &quot;organizations/[ORGANIZATION_ID]/cmekSettings&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings&quot; &quot;folders/[FOLDER_ID]/cmekSettings&quot; For example:&quot;organizations/12345/cmekSettings&quot;Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization. (required)
@@ -133,7 +133,7 @@
     { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }</pre>
 </div>
 
diff --git a/docs/dyn/logging_v2.billingAccounts.locations.buckets.html b/docs/dyn/logging_v2.billingAccounts.locations.buckets.html
index 1476fe0..ecbce1a 100644
--- a/docs/dyn/logging_v2.billingAccounts.locations.buckets.html
+++ b/docs/dyn/logging_v2.billingAccounts.locations.buckets.html
@@ -119,7 +119,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -146,7 +146,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -201,7 +201,7 @@
       &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
         &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
       },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
       &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -246,7 +246,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -273,7 +273,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
diff --git a/docs/dyn/logging_v2.folders.html b/docs/dyn/logging_v2.folders.html
index 2e1cb1d..e947a09 100644
--- a/docs/dyn/logging_v2.folders.html
+++ b/docs/dyn/logging_v2.folders.html
@@ -99,7 +99,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#getCmekSettings">getCmekSettings(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
+<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -108,7 +108,7 @@
 
 <div class="method">
     <code class="details" id="getCmekSettings">getCmekSettings(name, x__xgafv=None)</code>
-  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 
 Args:
   name: string, Required. The resource for which to retrieve CMEK settings. &quot;projects/[PROJECT_ID]/cmekSettings&quot; &quot;organizations/[ORGANIZATION_ID]/cmekSettings&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings&quot; &quot;folders/[FOLDER_ID]/cmekSettings&quot; For example:&quot;organizations/12345/cmekSettings&quot;Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization. (required)
@@ -123,7 +123,7 @@
     { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }</pre>
 </div>
 
diff --git a/docs/dyn/logging_v2.folders.locations.buckets.html b/docs/dyn/logging_v2.folders.locations.buckets.html
index 32c794e..531e729 100644
--- a/docs/dyn/logging_v2.folders.locations.buckets.html
+++ b/docs/dyn/logging_v2.folders.locations.buckets.html
@@ -122,7 +122,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -149,7 +149,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -200,7 +200,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -237,7 +237,7 @@
       &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
         &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
       },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
       &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -282,7 +282,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -309,7 +309,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
diff --git a/docs/dyn/logging_v2.locations.buckets.html b/docs/dyn/logging_v2.locations.buckets.html
index bc7b8e5..494d66d 100644
--- a/docs/dyn/logging_v2.locations.buckets.html
+++ b/docs/dyn/logging_v2.locations.buckets.html
@@ -122,7 +122,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -149,7 +149,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -200,7 +200,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -237,7 +237,7 @@
       &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
         &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
       },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
       &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -282,7 +282,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -309,7 +309,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
diff --git a/docs/dyn/logging_v2.organizations.html b/docs/dyn/logging_v2.organizations.html
index 55f8469..9e1c7a1 100644
--- a/docs/dyn/logging_v2.organizations.html
+++ b/docs/dyn/logging_v2.organizations.html
@@ -99,7 +99,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#getCmekSettings">getCmekSettings(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
+<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
 <p class="toc_element">
   <code><a href="#updateCmekSettings">updateCmekSettings(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
@@ -111,7 +111,7 @@
 
 <div class="method">
     <code class="details" id="getCmekSettings">getCmekSettings(name, x__xgafv=None)</code>
-  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 
 Args:
   name: string, Required. The resource for which to retrieve CMEK settings. &quot;projects/[PROJECT_ID]/cmekSettings&quot; &quot;organizations/[ORGANIZATION_ID]/cmekSettings&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings&quot; &quot;folders/[FOLDER_ID]/cmekSettings&quot; For example:&quot;organizations/12345/cmekSettings&quot;Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization. (required)
@@ -126,7 +126,7 @@
     { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }</pre>
 </div>
 
@@ -142,7 +142,7 @@
 { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }
 
   updateMask: string, Optional. Field mask identifying which fields from cmek_settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: &quot;updateMask=kmsKeyName&quot;
@@ -157,7 +157,7 @@
     { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }</pre>
 </div>
 
diff --git a/docs/dyn/logging_v2.organizations.locations.buckets.html b/docs/dyn/logging_v2.organizations.locations.buckets.html
index 9e43c60..21a3139 100644
--- a/docs/dyn/logging_v2.organizations.locations.buckets.html
+++ b/docs/dyn/logging_v2.organizations.locations.buckets.html
@@ -122,7 +122,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -149,7 +149,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -200,7 +200,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -237,7 +237,7 @@
       &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
         &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
       },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
       &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -282,7 +282,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -309,7 +309,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
diff --git a/docs/dyn/logging_v2.projects.html b/docs/dyn/logging_v2.projects.html
index 28d874f..bb24fce 100644
--- a/docs/dyn/logging_v2.projects.html
+++ b/docs/dyn/logging_v2.projects.html
@@ -104,7 +104,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#getCmekSettings">getCmekSettings(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
+<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -113,7 +113,7 @@
 
 <div class="method">
     <code class="details" id="getCmekSettings">getCmekSettings(name, x__xgafv=None)</code>
-  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 
 Args:
   name: string, Required. The resource for which to retrieve CMEK settings. &quot;projects/[PROJECT_ID]/cmekSettings&quot; &quot;organizations/[ORGANIZATION_ID]/cmekSettings&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings&quot; &quot;folders/[FOLDER_ID]/cmekSettings&quot; For example:&quot;organizations/12345/cmekSettings&quot;Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization. (required)
@@ -128,7 +128,7 @@
     { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }</pre>
 </div>
 
diff --git a/docs/dyn/logging_v2.projects.locations.buckets.html b/docs/dyn/logging_v2.projects.locations.buckets.html
index 3c5b78d..42046b6 100644
--- a/docs/dyn/logging_v2.projects.locations.buckets.html
+++ b/docs/dyn/logging_v2.projects.locations.buckets.html
@@ -122,7 +122,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -149,7 +149,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -200,7 +200,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -237,7 +237,7 @@
       &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
         &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+        &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
       },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
       &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -282,7 +282,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
@@ -309,7 +309,7 @@
   &quot;cmekSettings&quot;: { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. # The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+    &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.
   &quot;description&quot;: &quot;A String&quot;, # Describes this bucket.
diff --git a/docs/dyn/logging_v2.v2.html b/docs/dyn/logging_v2.v2.html
index 2b9eec6..a5dde55 100644
--- a/docs/dyn/logging_v2.v2.html
+++ b/docs/dyn/logging_v2.v2.html
@@ -79,7 +79,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#getCmekSettings">getCmekSettings(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
+<p class="firstline">Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
 <p class="toc_element">
   <code><a href="#updateCmekSettings">updateCmekSettings(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.</p>
@@ -91,7 +91,7 @@
 
 <div class="method">
     <code class="details" id="getCmekSettings">getCmekSettings(name, x__xgafv=None)</code>
-  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  <pre>Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 
 Args:
   name: string, Required. The resource for which to retrieve CMEK settings. &quot;projects/[PROJECT_ID]/cmekSettings&quot; &quot;organizations/[ORGANIZATION_ID]/cmekSettings&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings&quot; &quot;folders/[FOLDER_ID]/cmekSettings&quot; For example:&quot;organizations/12345/cmekSettings&quot;Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization. (required)
@@ -106,7 +106,7 @@
     { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }</pre>
 </div>
 
@@ -122,7 +122,7 @@
 { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }
 
   updateMask: string, Optional. Field mask identifying which fields from cmek_settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: &quot;updateMask=kmsKeyName&quot;
@@ -137,7 +137,7 @@
     { # Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;kmsKeyName&quot;: &quot;A String&quot;, # The resource name for the configured Cloud KMS key.KMS key name format: &quot;projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]&quot; For example:&quot;projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key&quot;To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the CMEK settings.
-  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
+  &quot;serviceAccountId&quot;: &quot;A String&quot;, # Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
 }</pre>
 </div>
 
diff --git a/docs/dyn/mybusinessbusinessinformation_v1.accounts.locations.html b/docs/dyn/mybusinessbusinessinformation_v1.accounts.locations.html
index eae9d32..6a214f1 100644
--- a/docs/dyn/mybusinessbusinessinformation_v1.accounts.locations.html
+++ b/docs/dyn/mybusinessbusinessinformation_v1.accounts.locations.html
@@ -147,7 +147,7 @@
     &quot;A String&quot;,
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
     &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].
   },
@@ -381,7 +381,7 @@
     &quot;A String&quot;,
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
     &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].
   },
@@ -627,7 +627,7 @@
         &quot;A String&quot;,
       ],
       &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-      &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+      &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
diff --git a/docs/dyn/mybusinessbusinessinformation_v1.googleLocations.html b/docs/dyn/mybusinessbusinessinformation_v1.googleLocations.html
index b060302..efac5fd 100644
--- a/docs/dyn/mybusinessbusinessinformation_v1.googleLocations.html
+++ b/docs/dyn/mybusinessbusinessinformation_v1.googleLocations.html
@@ -141,7 +141,7 @@
       &quot;A String&quot;,
     ],
     &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-    &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+    &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
       &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].
     },
@@ -379,7 +379,7 @@
           &quot;A String&quot;,
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-        &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+        &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
           &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
           &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
         },
diff --git a/docs/dyn/mybusinessbusinessinformation_v1.locations.html b/docs/dyn/mybusinessbusinessinformation_v1.locations.html
index fe41ffd..93e3e21 100644
--- a/docs/dyn/mybusinessbusinessinformation_v1.locations.html
+++ b/docs/dyn/mybusinessbusinessinformation_v1.locations.html
@@ -90,7 +90,7 @@
 <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 location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google My Business](https://business.google.com/manage/) website.</p>
+<p class="firstline">Deletes a location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google Business Profile](https://business.google.com/manage/) website.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, readMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns the specified location.</p>
@@ -163,7 +163,7 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
-  <pre>Deletes a location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google My Business](https://business.google.com/manage/) website.
+  <pre>Deletes a location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google Business Profile](https://business.google.com/manage/) website.
 
 Args:
   name: string, Required. The name of the location to delete. (required)
@@ -240,7 +240,7 @@
     &quot;A String&quot;,
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
     &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].
   },
@@ -523,7 +523,7 @@
       &quot;A String&quot;,
     ],
     &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-    &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+    &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
       &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].
     },
@@ -759,7 +759,7 @@
     &quot;A String&quot;,
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
     &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].
   },
@@ -993,7 +993,7 @@
     &quot;A String&quot;,
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
-  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients.
+  &quot;latlng&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. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
     &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
     &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
   },
diff --git a/docs/dyn/networkservices_v1beta1.projects.locations.html b/docs/dyn/networkservices_v1beta1.projects.locations.html
index 93086a6..301d011 100644
--- a/docs/dyn/networkservices_v1beta1.projects.locations.html
+++ b/docs/dyn/networkservices_v1beta1.projects.locations.html
@@ -85,6 +85,11 @@
 <p class="firstline">Returns the operations Resource.</p>
 
 <p class="toc_element">
+  <code><a href="networkservices_v1beta1.projects.locations.serviceBindings.html">serviceBindings()</a></code>
+</p>
+<p class="firstline">Returns the serviceBindings Resource.</p>
+
+<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
diff --git a/docs/dyn/networkservices_v1beta1.projects.locations.serviceBindings.html b/docs/dyn/networkservices_v1beta1.projects.locations.serviceBindings.html
new file mode 100644
index 0000000..98cda9f
--- /dev/null
+++ b/docs/dyn/networkservices_v1beta1.projects.locations.serviceBindings.html
@@ -0,0 +1,258 @@
+<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="networkservices_v1beta1.html">Network Services API</a> . <a href="networkservices_v1beta1.projects.html">projects</a> . <a href="networkservices_v1beta1.projects.locations.html">locations</a> . <a href="networkservices_v1beta1.projects.locations.serviceBindings.html">serviceBindings</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="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.</p>
+<p class="toc_element">
+  <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.</p>
+<p class="toc_element">
+  <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.</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="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
+  <pre>Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
+  options_requestedPolicyVersion: integer, Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+  &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+    { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+      &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+        { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+          &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+            &quot;A String&quot;,
+          ],
+          &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+        },
+      ],
+      &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+    },
+  ],
+  &quot;bindings&quot;: [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+    { # Associates `members`, or principals, with a `role`.
+      &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+        &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      &quot;members&quot;: [ # Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+        &quot;A String&quot;,
+      ],
+      &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+    },
+  ],
+  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+  &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
+  <pre>Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `SetIamPolicy` method.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+    &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+      { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+        &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+          { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+            &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+              &quot;A String&quot;,
+            ],
+            &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+          },
+        ],
+        &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+      },
+    ],
+    &quot;bindings&quot;: [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+      { # Associates `members`, or principals, with a `role`.
+        &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+        },
+        &quot;members&quot;: [ # Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+          &quot;A String&quot;,
+        ],
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+      },
+    ],
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+    &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  },
+  &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: &quot;bindings, etag&quot;`
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+  &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+    { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+      &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+        { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+          &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+            &quot;A String&quot;,
+          ],
+          &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+        },
+      ],
+      &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+    },
+  ],
+  &quot;bindings&quot;: [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+    { # Associates `members`, or principals, with a `role`.
+      &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+        &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      &quot;members&quot;: [ # Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+        &quot;A String&quot;,
+      ],
+      &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+    },
+  ],
+  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+  &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
+  <pre>Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may &quot;fail open&quot; without warning.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+    &quot;A String&quot;,
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+    &quot;A String&quot;,
+  ],
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
index 2b3a298..abecfdd 100644
--- a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
+++ b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
@@ -579,6 +579,20 @@
       },
       &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
         &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+        &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+          &quot;attackComplexity&quot;: &quot;A String&quot;,
+          &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+          &quot;authentication&quot;: &quot;A String&quot;,
+          &quot;availabilityImpact&quot;: &quot;A String&quot;,
+          &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+          &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+          &quot;exploitabilityScore&quot;: 3.14,
+          &quot;impactScore&quot;: 3.14,
+          &quot;integrityImpact&quot;: &quot;A String&quot;,
+          &quot;privilegesRequired&quot;: &quot;A String&quot;,
+          &quot;scope&quot;: &quot;A String&quot;,
+          &quot;userInteraction&quot;: &quot;A String&quot;,
+        },
         &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
         &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
         &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
diff --git a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
index ccd0f77..b12997b 100644
--- a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
+++ b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
@@ -579,6 +579,20 @@
       },
       &quot;vulnerability&quot;: { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability.
         &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+        &quot;cvssv3&quot;: { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score. # The cvss v3 score for the vulnerability.
+          &quot;attackComplexity&quot;: &quot;A String&quot;,
+          &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.
+          &quot;authentication&quot;: &quot;A String&quot;,
+          &quot;availabilityImpact&quot;: &quot;A String&quot;,
+          &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
+          &quot;confidentialityImpact&quot;: &quot;A String&quot;,
+          &quot;exploitabilityScore&quot;: 3.14,
+          &quot;impactScore&quot;: 3.14,
+          &quot;integrityImpact&quot;: &quot;A String&quot;,
+          &quot;privilegesRequired&quot;: &quot;A String&quot;,
+          &quot;scope&quot;: &quot;A String&quot;,
+          &quot;userInteraction&quot;: &quot;A String&quot;,
+        },
         &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.
         &quot;fixAvailable&quot;: True or False, # Output only. Whether at least one of the affected packages has a fix available.
         &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
diff --git a/docs/dyn/osconfig_v1.projects.patchDeployments.html b/docs/dyn/osconfig_v1.projects.patchDeployments.html
index 16c4133..b304195 100644
--- a/docs/dyn/osconfig_v1.projects.patchDeployments.html
+++ b/docs/dyn/osconfig_v1.projects.patchDeployments.html
@@ -95,6 +95,12 @@
 <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 OS Config patch deployment.</p>
+<p class="toc_element">
+  <code><a href="#pause">pause(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Change state of patch deployment to "PAUSED". Patch deployment in paused state doesn't generate patch jobs.</p>
+<p class="toc_element">
+  <code><a href="#resume">resume(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Change state of patch deployment back to "ACTIVE". Patch deployment in active state continues to generate patch jobs.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -276,6 +282,7 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }
 
@@ -454,6 +461,7 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }</pre>
 </div>
@@ -656,6 +664,7 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }</pre>
 </div>
@@ -845,6 +854,7 @@
         },
         &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
       },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     },
   ],
@@ -1040,6 +1050,7 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }
 
@@ -1218,6 +1229,389 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="pause">pause(name, body=None, x__xgafv=None)</code>
+  <pre>Change state of patch deployment to &quot;PAUSED&quot;. Patch deployment in paused state doesn&#x27;t generate patch jobs.
+
+Args:
+  name: string, Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A request message for pausing a patch deployment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see [Scheduling patch jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.
+  &quot;duration&quot;: &quot;A String&quot;, # Optional. Duration of the patch. After the duration ends, the patch times out.
+  &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones. # Required. VM instances to patch.
+    &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
+    &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances.
+      { # Targets a group of VM instances by using their [assigned labels](https://cloud.google.com/compute/docs/labeling-resources). Labels are key-value pairs. A `GroupLabel` is a combination of labels that is used to target VMs for a patch job. For example, a patch job can target VMs that have the following `GroupLabel`: `{&quot;env&quot;:&quot;test&quot;, &quot;app&quot;:&quot;web&quot;}`. This means that the patch job is applied to VMs that have both the labels `env=test` and `app=web`.
+        &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix=&quot;prod-&quot;.
+      &quot;A String&quot;,
+    ],
+    &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`, `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+      &quot;A String&quot;,
+    ],
+    &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The last time a patch job was started by this deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;name&quot;: &quot;A String&quot;, # Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.
+  &quot;oneTimeSchedule&quot;: { # Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. # Required. Schedule a one-time execution.
+    &quot;executeTime&quot;: &quot;A String&quot;, # Required. The desired patch job execution time.
+  },
+  &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Optional. Patch configuration that is applied.
+    &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.
+    },
+    &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
+    },
+    &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
+    &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+      &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of KBs to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field must not be specified with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+      &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on all platforms.
+    },
+    &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
+      &quot;categories&quot;: [ # Install only patches with these categories. Common categories include security, recommended, and feature.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of patches to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches that will be installed using &#x27;zypper patch patch:&#x27; command. This field must not be used with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;severities&quot;: [ # Install only patches with these severities. Common severities include critical, important, moderate, and low.
+        &quot;A String&quot;,
+      ],
+      &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+      &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+    },
+  },
+  &quot;recurringSchedule&quot;: { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
+    &quot;endTime&quot;: &quot;A String&quot;, # Optional. The end time at which a recurring patch deployment schedule is no longer active.
+    &quot;frequency&quot;: &quot;A String&quot;, # Required. The frequency unit of this recurring schedule.
+    &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the last patch job ran successfully.
+    &quot;monthly&quot;: { # Represents a monthly schedule. An example of a valid monthly schedule is &quot;on the third Tuesday of the month&quot; or &quot;on the 15th of the month&quot;. # Required. Schedule with monthly executions.
+      &quot;monthDay&quot;: 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run &quot;every month on the 31st&quot; will not run in February, April, June, etc.
+      &quot;weekDayOfMonth&quot;: { # Represents one week day in a month. An example is &quot;the 4th Sunday&quot;. # Required. Week day in a month.
+        &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. A day of the week.
+        &quot;dayOffset&quot;: 42, # Optional. Represents the number of days before or after the given week day of month that the patch deployment is scheduled for. For example if `week_ordinal` and `day_of_week` values point to the second day of the month and this `day_offset` value is set to `3`, the patch deployment takes place three days after the second Tuesday of the month. If this value is negative, for example -5, the patches are deployed five days before before the second Tuesday of the month. Allowed values are in range [-30, 30].
+        &quot;weekOrdinal&quot;: 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
+      },
+    },
+    &quot;nextExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the next patch job is scheduled to run.
+    &quot;startTime&quot;: &quot;A String&quot;, # Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.
+    &quot;timeOfDay&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Time of the day to run a recurring deployment.
+      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+    },
+    &quot;timeZone&quot;: { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Required. Defines the time zone that `time_of_day` is relative to. The rules for daylight saving time are determined by the chosen time zone.
+      &quot;id&quot;: &quot;A String&quot;, # IANA Time Zone Database time zone, e.g. &quot;America/New_York&quot;.
+      &quot;version&quot;: &quot;A String&quot;, # Optional. IANA Time Zone Database version number, e.g. &quot;2019a&quot;.
+    },
+    &quot;weekly&quot;: { # Represents a weekly schedule. # Required. Schedule with weekly executions.
+      &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Day of the week.
+    },
+  },
+  &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Optional. Rollout strategy of the patch job.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
+  },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resume">resume(name, body=None, x__xgafv=None)</code>
+  <pre>Change state of patch deployment back to &quot;ACTIVE&quot;. Patch deployment in active state continues to generate patch jobs.
+
+Args:
+  name: string, Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A request message for resuming a patch deployment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see [Scheduling patch jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.
+  &quot;duration&quot;: &quot;A String&quot;, # Optional. Duration of the patch. After the duration ends, the patch times out.
+  &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones. # Required. VM instances to patch.
+    &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
+    &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances.
+      { # Targets a group of VM instances by using their [assigned labels](https://cloud.google.com/compute/docs/labeling-resources). Labels are key-value pairs. A `GroupLabel` is a combination of labels that is used to target VMs for a patch job. For example, a patch job can target VMs that have the following `GroupLabel`: `{&quot;env&quot;:&quot;test&quot;, &quot;app&quot;:&quot;web&quot;}`. This means that the patch job is applied to VMs that have both the labels `env=test` and `app=web`.
+        &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix=&quot;prod-&quot;.
+      &quot;A String&quot;,
+    ],
+    &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`, `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+      &quot;A String&quot;,
+    ],
+    &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The last time a patch job was started by this deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;name&quot;: &quot;A String&quot;, # Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.
+  &quot;oneTimeSchedule&quot;: { # Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. # Required. Schedule a one-time execution.
+    &quot;executeTime&quot;: &quot;A String&quot;, # Required. The desired patch job execution time.
+  },
+  &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Optional. Patch configuration that is applied.
+    &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.
+    },
+    &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
+    },
+    &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
+    &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+      &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of KBs to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field must not be specified with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+      &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on all platforms.
+    },
+    &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
+      &quot;categories&quot;: [ # Install only patches with these categories. Common categories include security, recommended, and feature.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of patches to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches that will be installed using &#x27;zypper patch patch:&#x27; command. This field must not be used with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;severities&quot;: [ # Install only patches with these severities. Common severities include critical, important, moderate, and low.
+        &quot;A String&quot;,
+      ],
+      &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+      &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+    },
+  },
+  &quot;recurringSchedule&quot;: { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
+    &quot;endTime&quot;: &quot;A String&quot;, # Optional. The end time at which a recurring patch deployment schedule is no longer active.
+    &quot;frequency&quot;: &quot;A String&quot;, # Required. The frequency unit of this recurring schedule.
+    &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the last patch job ran successfully.
+    &quot;monthly&quot;: { # Represents a monthly schedule. An example of a valid monthly schedule is &quot;on the third Tuesday of the month&quot; or &quot;on the 15th of the month&quot;. # Required. Schedule with monthly executions.
+      &quot;monthDay&quot;: 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run &quot;every month on the 31st&quot; will not run in February, April, June, etc.
+      &quot;weekDayOfMonth&quot;: { # Represents one week day in a month. An example is &quot;the 4th Sunday&quot;. # Required. Week day in a month.
+        &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. A day of the week.
+        &quot;dayOffset&quot;: 42, # Optional. Represents the number of days before or after the given week day of month that the patch deployment is scheduled for. For example if `week_ordinal` and `day_of_week` values point to the second day of the month and this `day_offset` value is set to `3`, the patch deployment takes place three days after the second Tuesday of the month. If this value is negative, for example -5, the patches are deployed five days before before the second Tuesday of the month. Allowed values are in range [-30, 30].
+        &quot;weekOrdinal&quot;: 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
+      },
+    },
+    &quot;nextExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the next patch job is scheduled to run.
+    &quot;startTime&quot;: &quot;A String&quot;, # Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.
+    &quot;timeOfDay&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Time of the day to run a recurring deployment.
+      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+    },
+    &quot;timeZone&quot;: { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Required. Defines the time zone that `time_of_day` is relative to. The rules for daylight saving time are determined by the chosen time zone.
+      &quot;id&quot;: &quot;A String&quot;, # IANA Time Zone Database time zone, e.g. &quot;America/New_York&quot;.
+      &quot;version&quot;: &quot;A String&quot;, # Optional. IANA Time Zone Database version number, e.g. &quot;2019a&quot;.
+    },
+    &quot;weekly&quot;: { # Represents a weekly schedule. # Required. Schedule with weekly executions.
+      &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Day of the week.
+    },
+  },
+  &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Optional. Rollout strategy of the patch job.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
+  },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }</pre>
 </div>
diff --git a/docs/dyn/osconfig_v1beta.projects.patchDeployments.html b/docs/dyn/osconfig_v1beta.projects.patchDeployments.html
index 69e724a..b70fd61 100644
--- a/docs/dyn/osconfig_v1beta.projects.patchDeployments.html
+++ b/docs/dyn/osconfig_v1beta.projects.patchDeployments.html
@@ -95,6 +95,12 @@
 <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 OS Config patch deployment.</p>
+<p class="toc_element">
+  <code><a href="#pause">pause(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Change state of patch deployment to "PAUSED". Patch deployment in paused state doesn't generate patch jobs.</p>
+<p class="toc_element">
+  <code><a href="#resume">resume(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Change state of patch deployment back to "ACTIVE". Patch deployment in active state continues to generate patch jobs.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -276,6 +282,7 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }
 
@@ -454,6 +461,7 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }</pre>
 </div>
@@ -656,6 +664,7 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }</pre>
 </div>
@@ -845,6 +854,7 @@
         },
         &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
       },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     },
   ],
@@ -1040,6 +1050,7 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }
 
@@ -1218,6 +1229,389 @@
     },
     &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="pause">pause(name, body=None, x__xgafv=None)</code>
+  <pre>Change state of patch deployment to &quot;PAUSED&quot;. Patch deployment in paused state doesn&#x27;t generate patch jobs.
+
+Args:
+  name: string, Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A request message for pausing a patch deployment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see [Scheduling patch jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.
+  &quot;duration&quot;: &quot;A String&quot;, # Optional. Duration of the patch. After the duration ends, the patch times out.
+  &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones. # Required. VM instances to patch.
+    &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
+    &quot;groupLabels&quot;: [ # Targets VM instances matching at least one of these label sets. This allows targeting of disparate groups, for example &quot;env=prod or env=staging&quot;.
+      { # Represents a group of VMs that can be identified as having all these labels, for example &quot;env=prod and app=web&quot;.
+        &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix=&quot;prod-&quot;.
+      &quot;A String&quot;,
+    ],
+    &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`, `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+      &quot;A String&quot;,
+    ],
+    &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The last time a patch job was started by this deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;name&quot;: &quot;A String&quot;, # Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.
+  &quot;oneTimeSchedule&quot;: { # Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. # Required. Schedule a one-time execution.
+    &quot;executeTime&quot;: &quot;A String&quot;, # Required. The desired patch job execution time.
+  },
+  &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Optional. Patch configuration that is applied.
+    &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.
+    },
+    &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
+    },
+    &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
+    &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+      &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of KBs to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field must not be specified with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+      &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on all platforms.
+    },
+    &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
+      &quot;categories&quot;: [ # Install only patches with these categories. Common categories include security, recommended, and feature.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of patches to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches that will be installed using &#x27;zypper patch patch:&#x27; command. This field must not be used with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;severities&quot;: [ # Install only patches with these severities. Common severities include critical, important, moderate, and low.
+        &quot;A String&quot;,
+      ],
+      &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+      &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+    },
+  },
+  &quot;recurringSchedule&quot;: { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
+    &quot;endTime&quot;: &quot;A String&quot;, # Optional. The end time at which a recurring patch deployment schedule is no longer active.
+    &quot;frequency&quot;: &quot;A String&quot;, # Required. The frequency unit of this recurring schedule.
+    &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the last patch job ran successfully.
+    &quot;monthly&quot;: { # Represents a monthly schedule. An example of a valid monthly schedule is &quot;on the third Tuesday of the month&quot; or &quot;on the 15th of the month&quot;. # Required. Schedule with monthly executions.
+      &quot;monthDay&quot;: 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run &quot;every month on the 31st&quot; will not run in February, April, June, etc.
+      &quot;weekDayOfMonth&quot;: { # Represents one week day in a month. An example is &quot;the 4th Sunday&quot;. # Required. Week day in a month.
+        &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. A day of the week.
+        &quot;dayOffset&quot;: 42, # Optional. Represents the number of days before or after the given week day of month that the patch deployment is scheduled for. For example if `week_ordinal` and `day_of_week` values point to the second day of the month and this `day_offset` value is set to `3`, the patch deployment takes place three days after the second Tuesday of the month. If this value is negative, for example -5, the patches are deployed five days before before the second Tuesday of the month. Allowed values are in range [-30, 30].
+        &quot;weekOrdinal&quot;: 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
+      },
+    },
+    &quot;nextExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the next patch job is scheduled to run.
+    &quot;startTime&quot;: &quot;A String&quot;, # Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.
+    &quot;timeOfDay&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Time of the day to run a recurring deployment.
+      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+    },
+    &quot;timeZone&quot;: { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Required. Defines the time zone that `time_of_day` is relative to. The rules for daylight saving time are determined by the chosen time zone.
+      &quot;id&quot;: &quot;A String&quot;, # IANA Time Zone Database time zone, e.g. &quot;America/New_York&quot;.
+      &quot;version&quot;: &quot;A String&quot;, # Optional. IANA Time Zone Database version number, e.g. &quot;2019a&quot;.
+    },
+    &quot;weekly&quot;: { # Represents a weekly schedule. # Required. Schedule with weekly executions.
+      &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Day of the week.
+    },
+  },
+  &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Optional. Rollout strategy of the patch job.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
+  },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resume">resume(name, body=None, x__xgafv=None)</code>
+  <pre>Change state of patch deployment back to &quot;ACTIVE&quot;. Patch deployment in active state continues to generate patch jobs.
+
+Args:
+  name: string, Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A request message for resuming a patch deployment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see [Scheduling patch jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.
+  &quot;duration&quot;: &quot;A String&quot;, # Optional. Duration of the patch. After the duration ends, the patch times out.
+  &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones. # Required. VM instances to patch.
+    &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
+    &quot;groupLabels&quot;: [ # Targets VM instances matching at least one of these label sets. This allows targeting of disparate groups, for example &quot;env=prod or env=staging&quot;.
+      { # Represents a group of VMs that can be identified as having all these labels, for example &quot;env=prod and app=web&quot;.
+        &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix=&quot;prod-&quot;.
+      &quot;A String&quot;,
+    ],
+    &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`, `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+      &quot;A String&quot;,
+    ],
+    &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The last time a patch job was started by this deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;name&quot;: &quot;A String&quot;, # Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.
+  &quot;oneTimeSchedule&quot;: { # Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. # Required. Schedule a one-time execution.
+    &quot;executeTime&quot;: &quot;A String&quot;, # Required. The desired patch job execution time.
+  },
+  &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Optional. Patch configuration that is applied.
+    &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.
+    },
+    &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
+    },
+    &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
+    &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+      &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of KBs to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field must not be specified with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+      &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on all platforms.
+    },
+    &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
+      &quot;categories&quot;: [ # Install only patches with these categories. Common categories include security, recommended, and feature.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of patches to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches that will be installed using &#x27;zypper patch patch:&#x27; command. This field must not be used with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;severities&quot;: [ # Install only patches with these severities. Common severities include critical, important, moderate, and low.
+        &quot;A String&quot;,
+      ],
+      &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+      &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+    },
+  },
+  &quot;recurringSchedule&quot;: { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
+    &quot;endTime&quot;: &quot;A String&quot;, # Optional. The end time at which a recurring patch deployment schedule is no longer active.
+    &quot;frequency&quot;: &quot;A String&quot;, # Required. The frequency unit of this recurring schedule.
+    &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the last patch job ran successfully.
+    &quot;monthly&quot;: { # Represents a monthly schedule. An example of a valid monthly schedule is &quot;on the third Tuesday of the month&quot; or &quot;on the 15th of the month&quot;. # Required. Schedule with monthly executions.
+      &quot;monthDay&quot;: 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run &quot;every month on the 31st&quot; will not run in February, April, June, etc.
+      &quot;weekDayOfMonth&quot;: { # Represents one week day in a month. An example is &quot;the 4th Sunday&quot;. # Required. Week day in a month.
+        &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. A day of the week.
+        &quot;dayOffset&quot;: 42, # Optional. Represents the number of days before or after the given week day of month that the patch deployment is scheduled for. For example if `week_ordinal` and `day_of_week` values point to the second day of the month and this `day_offset` value is set to `3`, the patch deployment takes place three days after the second Tuesday of the month. If this value is negative, for example -5, the patches are deployed five days before before the second Tuesday of the month. Allowed values are in range [-30, 30].
+        &quot;weekOrdinal&quot;: 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
+      },
+    },
+    &quot;nextExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the next patch job is scheduled to run.
+    &quot;startTime&quot;: &quot;A String&quot;, # Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.
+    &quot;timeOfDay&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Time of the day to run a recurring deployment.
+      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+    },
+    &quot;timeZone&quot;: { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Required. Defines the time zone that `time_of_day` is relative to. The rules for daylight saving time are determined by the chosen time zone.
+      &quot;id&quot;: &quot;A String&quot;, # IANA Time Zone Database time zone, e.g. &quot;America/New_York&quot;.
+      &quot;version&quot;: &quot;A String&quot;, # Optional. IANA Time Zone Database version number, e.g. &quot;2019a&quot;.
+    },
+    &quot;weekly&quot;: { # Represents a weekly schedule. # Required. Schedule with weekly executions.
+      &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Day of the week.
+    },
+  },
+  &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Optional. Rollout strategy of the patch job.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
+  },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the patch deployment.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 }</pre>
 </div>
diff --git a/docs/dyn/oslogin_v1.users.html b/docs/dyn/oslogin_v1.users.html
index 10a4761..e827382 100644
--- a/docs/dyn/oslogin_v1.users.html
+++ b/docs/dyn/oslogin_v1.users.html
@@ -80,11 +80,6 @@
 <p class="firstline">Returns the projects Resource.</p>
 
 <p class="toc_element">
-  <code><a href="oslogin_v1.users.sshPublicKey.html">sshPublicKey()</a></code>
-</p>
-<p class="firstline">Returns the sshPublicKey Resource.</p>
-
-<p class="toc_element">
   <code><a href="oslogin_v1.users.sshPublicKeys.html">sshPublicKeys()</a></code>
 </p>
 <p class="firstline">Returns the sshPublicKeys Resource.</p>
diff --git a/docs/dyn/oslogin_v1.users.sshPublicKeys.html b/docs/dyn/oslogin_v1.users.sshPublicKeys.html
index 0965558..2255973 100644
--- a/docs/dyn/oslogin_v1.users.sshPublicKeys.html
+++ b/docs/dyn/oslogin_v1.users.sshPublicKeys.html
@@ -78,6 +78,9 @@
   <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">Create an SSH public key</p>
+<p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes an SSH public key.</p>
 <p class="toc_element">
@@ -93,6 +96,38 @@
 </div>
 
 <div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Create an SSH public key
+
+Args:
+  parent: string, Required. The unique ID for the user in format `users/{user}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The SSH public key information associated with a Google account.
+  &quot;expirationTimeUsec&quot;: &quot;A String&quot;, # An expiration time in microseconds since epoch.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Output only. The SHA-256 fingerprint of the SSH public key.
+  &quot;key&quot;: &quot;A String&quot;, # Public key text in SSH format, defined by RFC4253 section 6.6.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The canonical resource name.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The SSH public key information associated with a Google account.
+  &quot;expirationTimeUsec&quot;: &quot;A String&quot;, # An expiration time in microseconds since epoch.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Output only. The SHA-256 fingerprint of the SSH public key.
+  &quot;key&quot;: &quot;A String&quot;, # Public key text in SSH format, defined by RFC4253 section 6.6.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The canonical resource name.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
   <pre>Deletes an SSH public key.
 
diff --git a/docs/dyn/oslogin_v1alpha.users.html b/docs/dyn/oslogin_v1alpha.users.html
index b704c42..3d5d134 100644
--- a/docs/dyn/oslogin_v1alpha.users.html
+++ b/docs/dyn/oslogin_v1alpha.users.html
@@ -80,11 +80,6 @@
 <p class="firstline">Returns the projects Resource.</p>
 
 <p class="toc_element">
-  <code><a href="oslogin_v1alpha.users.sshPublicKey.html">sshPublicKey()</a></code>
-</p>
-<p class="firstline">Returns the sshPublicKey Resource.</p>
-
-<p class="toc_element">
   <code><a href="oslogin_v1alpha.users.sshPublicKeys.html">sshPublicKeys()</a></code>
 </p>
 <p class="firstline">Returns the sshPublicKeys Resource.</p>
diff --git a/docs/dyn/oslogin_v1alpha.users.sshPublicKeys.html b/docs/dyn/oslogin_v1alpha.users.sshPublicKeys.html
index b8ab11a..6533342 100644
--- a/docs/dyn/oslogin_v1alpha.users.sshPublicKeys.html
+++ b/docs/dyn/oslogin_v1alpha.users.sshPublicKeys.html
@@ -78,6 +78,9 @@
   <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">Create an SSH public key</p>
+<p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes an SSH public key.</p>
 <p class="toc_element">
@@ -93,6 +96,38 @@
 </div>
 
 <div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Create an SSH public key
+
+Args:
+  parent: string, Required. The unique ID for the user in format `users/{user}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The SSH public key information associated with a Google account.
+  &quot;expirationTimeUsec&quot;: &quot;A String&quot;, # An expiration time in microseconds since epoch.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Output only. The SHA-256 fingerprint of the SSH public key.
+  &quot;key&quot;: &quot;A String&quot;, # Public key text in SSH format, defined by RFC4253 section 6.6.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The canonical resource name.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The SSH public key information associated with a Google account.
+  &quot;expirationTimeUsec&quot;: &quot;A String&quot;, # An expiration time in microseconds since epoch.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Output only. The SHA-256 fingerprint of the SSH public key.
+  &quot;key&quot;: &quot;A String&quot;, # Public key text in SSH format, defined by RFC4253 section 6.6.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The canonical resource name.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
   <pre>Deletes an SSH public key.
 
diff --git a/docs/dyn/oslogin_v1beta.users.html b/docs/dyn/oslogin_v1beta.users.html
index 1225335..b26e6ed 100644
--- a/docs/dyn/oslogin_v1beta.users.html
+++ b/docs/dyn/oslogin_v1beta.users.html
@@ -80,11 +80,6 @@
 <p class="firstline">Returns the projects Resource.</p>
 
 <p class="toc_element">
-  <code><a href="oslogin_v1beta.users.sshPublicKey.html">sshPublicKey()</a></code>
-</p>
-<p class="firstline">Returns the sshPublicKey Resource.</p>
-
-<p class="toc_element">
   <code><a href="oslogin_v1beta.users.sshPublicKeys.html">sshPublicKeys()</a></code>
 </p>
 <p class="firstline">Returns the sshPublicKeys Resource.</p>
diff --git a/docs/dyn/oslogin_v1beta.users.sshPublicKeys.html b/docs/dyn/oslogin_v1beta.users.sshPublicKeys.html
index c53dae3..877d0e3 100644
--- a/docs/dyn/oslogin_v1beta.users.sshPublicKeys.html
+++ b/docs/dyn/oslogin_v1beta.users.sshPublicKeys.html
@@ -78,6 +78,9 @@
   <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">Create an SSH public key</p>
+<p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes an SSH public key.</p>
 <p class="toc_element">
@@ -93,6 +96,38 @@
 </div>
 
 <div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Create an SSH public key
+
+Args:
+  parent: string, Required. The unique ID for the user in format `users/{user}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The SSH public key information associated with a Google account.
+  &quot;expirationTimeUsec&quot;: &quot;A String&quot;, # An expiration time in microseconds since epoch.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Output only. The SHA-256 fingerprint of the SSH public key.
+  &quot;key&quot;: &quot;A String&quot;, # Public key text in SSH format, defined by RFC4253 section 6.6.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The canonical resource name.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The SSH public key information associated with a Google account.
+  &quot;expirationTimeUsec&quot;: &quot;A String&quot;, # An expiration time in microseconds since epoch.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Output only. The SHA-256 fingerprint of the SSH public key.
+  &quot;key&quot;: &quot;A String&quot;, # Public key text in SSH format, defined by RFC4253 section 6.6.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The canonical resource name.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
   <pre>Deletes an SSH public key.
 
diff --git a/docs/dyn/pubsub_v1.projects.subscriptions.html b/docs/dyn/pubsub_v1.projects.subscriptions.html
index 67461b4..08a3ede 100644
--- a/docs/dyn/pubsub_v1.projects.subscriptions.html
+++ b/docs/dyn/pubsub_v1.projects.subscriptions.html
@@ -181,7 +181,7 @@
   },
   &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes.
   &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `&quot;goog&quot;`.
-  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods.
+  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. At most one of `pushConfig` and `bigQueryConfig` can be set. If both are empty, then the subscriber will pull and ack messages using API methods.
     &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { &quot;x-goog-version&quot;: &quot;v1&quot; }
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -196,6 +196,7 @@
     &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.
     &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. An output-only field indicating whether or not the subscription can receive messages.
   &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.
   &quot;topicMessageRetentionDuration&quot;: &quot;A String&quot;, # Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription&#x27;s topic. If this field is set, messages published to the subscription&#x27;s topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.
 }
@@ -225,7 +226,7 @@
   },
   &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes.
   &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `&quot;goog&quot;`.
-  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods.
+  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. At most one of `pushConfig` and `bigQueryConfig` can be set. If both are empty, then the subscriber will pull and ack messages using API methods.
     &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { &quot;x-goog-version&quot;: &quot;v1&quot; }
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -240,6 +241,7 @@
     &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.
     &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. An output-only field indicating whether or not the subscription can receive messages.
   &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.
   &quot;topicMessageRetentionDuration&quot;: &quot;A String&quot;, # Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription&#x27;s topic. If this field is set, messages published to the subscription&#x27;s topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.
 }</pre>
@@ -312,7 +314,7 @@
   },
   &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes.
   &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `&quot;goog&quot;`.
-  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods.
+  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. At most one of `pushConfig` and `bigQueryConfig` can be set. If both are empty, then the subscriber will pull and ack messages using API methods.
     &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { &quot;x-goog-version&quot;: &quot;v1&quot; }
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -327,6 +329,7 @@
     &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.
     &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. An output-only field indicating whether or not the subscription can receive messages.
   &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.
   &quot;topicMessageRetentionDuration&quot;: &quot;A String&quot;, # Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription&#x27;s topic. If this field is set, messages published to the subscription&#x27;s topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.
 }</pre>
@@ -403,7 +406,7 @@
       },
       &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes.
       &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `&quot;goog&quot;`.
-      &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods.
+      &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. At most one of `pushConfig` and `bigQueryConfig` can be set. If both are empty, then the subscriber will pull and ack messages using API methods.
         &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { &quot;x-goog-version&quot;: &quot;v1&quot; }
           &quot;a_key&quot;: &quot;A String&quot;,
         },
@@ -418,6 +421,7 @@
         &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.
         &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
       },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. An output-only field indicating whether or not the subscription can receive messages.
       &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.
       &quot;topicMessageRetentionDuration&quot;: &quot;A String&quot;, # Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription&#x27;s topic. If this field is set, messages published to the subscription&#x27;s topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.
     },
@@ -528,7 +532,7 @@
     },
     &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes.
     &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `&quot;goog&quot;`.
-    &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods.
+    &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. At most one of `pushConfig` and `bigQueryConfig` can be set. If both are empty, then the subscriber will pull and ack messages using API methods.
       &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { &quot;x-goog-version&quot;: &quot;v1&quot; }
         &quot;a_key&quot;: &quot;A String&quot;,
       },
@@ -543,6 +547,7 @@
       &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.
       &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
     },
+    &quot;state&quot;: &quot;A String&quot;, # Output only. An output-only field indicating whether or not the subscription can receive messages.
     &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.
     &quot;topicMessageRetentionDuration&quot;: &quot;A String&quot;, # Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription&#x27;s topic. If this field is set, messages published to the subscription&#x27;s topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.
   },
@@ -574,7 +579,7 @@
   },
   &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes.
   &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `&quot;goog&quot;`.
-  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods.
+  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. At most one of `pushConfig` and `bigQueryConfig` can be set. If both are empty, then the subscriber will pull and ack messages using API methods.
     &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { &quot;x-goog-version&quot;: &quot;v1&quot; }
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -589,6 +594,7 @@
     &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.
     &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
   },
+  &quot;state&quot;: &quot;A String&quot;, # Output only. An output-only field indicating whether or not the subscription can receive messages.
   &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.
   &quot;topicMessageRetentionDuration&quot;: &quot;A String&quot;, # Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription&#x27;s topic. If this field is set, messages published to the subscription&#x27;s topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.
 }</pre>
diff --git a/docs/dyn/recommendationengine_v1beta1.projects.locations.catalogs.catalogItems.html b/docs/dyn/recommendationengine_v1beta1.projects.locations.catalogs.catalogItems.html
index dd77743..7e83407 100644
--- a/docs/dyn/recommendationengine_v1beta1.projects.locations.catalogs.catalogItems.html
+++ b/docs/dyn/recommendationengine_v1beta1.projects.locations.catalogs.catalogItems.html
@@ -548,7 +548,7 @@
 
 Args:
   parent: string, Required. The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog`. (required)
-  filter: string, Optional. A filter to apply on the list results.
+  filter: string, Optional. Use of this field is not supported by version v1beta1.
   pageSize: integer, Optional. Maximum number of results to return per page. If zero, the service will choose a reasonable default.
   pageToken: string, Optional. The previous ListCatalogItemsResponse.next_page_token.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.html b/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.html
index f720388..991370d 100644
--- a/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.html
+++ b/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.html
@@ -151,7 +151,7 @@
   <pre>Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.
 
 Args:
-  name: string, Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` (required)
+  name: string, Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.html b/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.html
index fb245eb..7eb4fa4 100644
--- a/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.html
+++ b/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.html
@@ -151,7 +151,7 @@
   <pre>Gets the requested Recommender Config. There is only one instance of the config for each Recommender.
 
 Args:
-  name: string, Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[RECOMMENDER_ID]/config` (required)
+  name: string, Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.html b/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.html
index 1e5d940..bdd4e15 100644
--- a/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.html
+++ b/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.html
@@ -99,7 +99,7 @@
   <pre>Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.
 
 Args:
-  name: string, Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` (required)
+  name: string, Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/recommender_v1beta1.projects.locations.recommenders.html b/docs/dyn/recommender_v1beta1.projects.locations.recommenders.html
index f5752c8..02eebd5 100644
--- a/docs/dyn/recommender_v1beta1.projects.locations.recommenders.html
+++ b/docs/dyn/recommender_v1beta1.projects.locations.recommenders.html
@@ -99,7 +99,7 @@
   <pre>Gets the requested Recommender Config. There is only one instance of the config for each Recommender.
 
 Args:
-  name: string, Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[RECOMMENDER_ID]/config` (required)
+  name: string, Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html
index 970cd4b..32c4cf5 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html
@@ -244,7 +244,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -376,7 +376,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -532,7 +532,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -608,7 +608,7 @@
       &quot;tableId&quot;: &quot;A String&quot;, # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
     },
     &quot;gcsSource&quot;: { # Google Cloud Storage location for input content. format. # Google Cloud Storage location for the input content.
-      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
+      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * &#x27;control&#x27; (default): One JSON Control per line.
       &quot;inputUris&quot;: [ # Required. Google Cloud Storage URIs to input files. URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files, and each file can be up to 2 GB. See [Importing product information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
         &quot;A String&quot;,
       ],
@@ -690,7 +690,7 @@
             &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
             &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
             &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
             &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -871,7 +871,7 @@
         &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
         &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
         &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
         &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1020,7 +1020,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1153,7 +1153,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1335,7 +1335,7 @@
       &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
       &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
       &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-      &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+      &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
       &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
       &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
       &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1382,7 +1382,7 @@
       # Object with schema name: GoogleCloudRetailV2Product
     ],
   },
-  &quot;setMask&quot;: &quot;A String&quot;, # Indicates which inventory fields in the provided Product to update. If not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.
+  &quot;setMask&quot;: &quot;A String&quot;, # Indicates which inventory fields in the provided Product to update. At least one field must be provided. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.
   &quot;setTime&quot;: &quot;A String&quot;, # The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded. If not provided, the internal system time will be used.
 }
 
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
index 7c008c6..a10e0aa 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
@@ -220,7 +220,7 @@
             &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
             &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
             &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
             &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -394,7 +394,7 @@
   &quot;variantRollupKeys&quot;: [ # The keys to fetch and rollup the matching variant Products attributes, FulfillmentInfo or LocalInventorys attributes. The attributes from all the matching variant Products or LocalInventorys are merged and de-duplicated. Notice that rollup attributes will lead to extra query latency. Maximum number of keys is 30. For FulfillmentInfo, a fulfillment type and a fulfillment ID must be provided in the format of &quot;fulfillmentType.fulfillmentId&quot;. E.g., in &quot;pickupInStore.store123&quot;, &quot;pickupInStore&quot; is fulfillment type and &quot;store123&quot; is the store ID. Supported keys are: * colorFamilies * price * originalPrice * discount * variantId * inventory(place_id,price) * inventory(place_id,original_price) * inventory(place_id,attributes.key), where key is any key in the Product.inventories.attributes map. * attributes.key, where key is any key in the Product.attributes map. * pickupInStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;pickup-in-store&quot;. * shipToStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;ship-to-store&quot;. * sameDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;same-day-delivery&quot;. * nextDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;next-day-delivery&quot;. * customFulfillment1.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-1&quot;. * customFulfillment2.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-2&quot;. * customFulfillment3.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-3&quot;. * customFulfillment4.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-4&quot;. * customFulfillment5.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-5&quot;. If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     &quot;A String&quot;,
   ],
-  &quot;visitorId&quot;: &quot;A String&quot;, # Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
+  &quot;visitorId&quot;: &quot;A String&quot;, # Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
 }
 
   x__xgafv: string, V1 error format.
@@ -517,7 +517,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
index 07060cd..2957e17 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
@@ -153,7 +153,7 @@
       &quot;tableId&quot;: &quot;A String&quot;, # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
     },
     &quot;gcsSource&quot;: { # Google Cloud Storage location for input content. format. # Required. Google Cloud Storage location for the input content.
-      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
+      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * &#x27;control&#x27; (default): One JSON Control per line.
       &quot;inputUris&quot;: [ # Required. Google Cloud Storage URIs to input files. URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files, and each file can be up to 2 GB. See [Importing product information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
         &quot;A String&quot;,
       ],
@@ -269,7 +269,7 @@
                   &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
                   &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
                   &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-                  &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+                  &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
                   &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
                   &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
                   &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -575,7 +575,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -762,7 +762,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html
index b46a637..d8ab78c 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html
@@ -179,7 +179,7 @@
   &quot;allowMissing&quot;: True or False, # If set to true, and the Product is not found, the local inventory will still be processed and retained for at most 1 day and processed once the Product is created. If set to false, a NOT_FOUND error is returned if the Product is not found.
   &quot;localInventories&quot;: [ # Required. A list of inventory information at difference places. Each place is identified by its place ID. At most 3000 inventories are allowed per request.
     { # The inventory information at a place (e.g. a store) identified by a place ID.
-      &quot;attributes&quot;: { # Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * The max number of values per attribute is 10. * For text values, the length limit is 64 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.
+      &quot;attributes&quot;: { # Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * The max number of values per attribute is 10. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.
         &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
           &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
           &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -196,7 +196,7 @@
         &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
         &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
         &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
         &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -336,7 +336,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -468,7 +468,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -624,7 +624,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -700,7 +700,7 @@
       &quot;tableId&quot;: &quot;A String&quot;, # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
     },
     &quot;gcsSource&quot;: { # Google Cloud Storage location for input content. format. # Google Cloud Storage location for the input content.
-      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
+      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * &#x27;control&#x27; (default): One JSON Control per line.
       &quot;inputUris&quot;: [ # Required. Google Cloud Storage URIs to input files. URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files, and each file can be up to 2 GB. See [Importing product information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
         &quot;A String&quot;,
       ],
@@ -782,7 +782,7 @@
             &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
             &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
             &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
             &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -964,7 +964,7 @@
         &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
         &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
         &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
         &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1114,7 +1114,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1247,7 +1247,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1475,7 +1475,7 @@
       &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
       &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
       &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-      &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+      &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
       &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
       &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
       &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1522,7 +1522,7 @@
       # Object with schema name: GoogleCloudRetailV2alphaProduct
     ],
   },
-  &quot;setMask&quot;: &quot;A String&quot;, # Indicates which inventory fields in the provided Product to update. If not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.
+  &quot;setMask&quot;: &quot;A String&quot;, # Indicates which inventory fields in the provided Product to update. At least one field must be provided. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.
   &quot;setTime&quot;: &quot;A String&quot;, # The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded. If not provided, the internal system time will be used.
 }
 
@@ -1568,7 +1568,7 @@
   &quot;allowMissing&quot;: True or False, # If set to true, and the Product is not found, the local inventory will still be processed and retained for at most 1 day and processed once the Product is created. If set to false, a NOT_FOUND error is returned if the Product is not found.
   &quot;localInventories&quot;: [ # A list of inventory information at difference places. Each place is identified by its place ID. For example, if `place1` and `place2` are stored, and this list is `[place1, place3]` with a fresher set timestamp, then the stored places will become `place1` and `place3`. An empty list removes all existing places with staler fields. At most 3000 inventories are allowed per request.
     { # The inventory information at a place (e.g. a store) identified by a place ID.
-      &quot;attributes&quot;: { # Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * The max number of values per attribute is 10. * For text values, the length limit is 64 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.
+      &quot;attributes&quot;: { # Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * The max number of values per attribute is 10. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.
         &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
           &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
           &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -1585,7 +1585,7 @@
         &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
         &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
         &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
         &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
index 994f3c1..a52a62e 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
@@ -220,7 +220,7 @@
             &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
             &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
             &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
             &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -395,7 +395,7 @@
   &quot;variantRollupKeys&quot;: [ # The keys to fetch and rollup the matching variant Products attributes, FulfillmentInfo or LocalInventorys attributes. The attributes from all the matching variant Products or LocalInventorys are merged and de-duplicated. Notice that rollup attributes will lead to extra query latency. Maximum number of keys is 30. For FulfillmentInfo, a fulfillment type and a fulfillment ID must be provided in the format of &quot;fulfillmentType.fulfillmentId&quot;. E.g., in &quot;pickupInStore.store123&quot;, &quot;pickupInStore&quot; is fulfillment type and &quot;store123&quot; is the store ID. Supported keys are: * colorFamilies * price * originalPrice * discount * variantId * inventory(place_id,price) * inventory(place_id,original_price) * inventory(place_id,attributes.key), where key is any key in the Product.inventories.attributes map. * attributes.key, where key is any key in the Product.attributes map. * pickupInStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;pickup-in-store&quot;. * shipToStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;ship-to-store&quot;. * sameDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;same-day-delivery&quot;. * nextDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;next-day-delivery&quot;. * customFulfillment1.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-1&quot;. * customFulfillment2.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-2&quot;. * customFulfillment3.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-3&quot;. * customFulfillment4.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-4&quot;. * customFulfillment5.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-5&quot;. If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     &quot;A String&quot;,
   ],
-  &quot;visitorId&quot;: &quot;A String&quot;, # Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
+  &quot;visitorId&quot;: &quot;A String&quot;, # Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
 }
 
   x__xgafv: string, V1 error format.
@@ -518,7 +518,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
index 009e94a..2119ddd 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
@@ -153,7 +153,7 @@
       &quot;tableId&quot;: &quot;A String&quot;, # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
     },
     &quot;gcsSource&quot;: { # Google Cloud Storage location for input content. format. # Required. Google Cloud Storage location for the input content.
-      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
+      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * &#x27;control&#x27; (default): One JSON Control per line.
       &quot;inputUris&quot;: [ # Required. Google Cloud Storage URIs to input files. URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files, and each file can be up to 2 GB. See [Importing product information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
         &quot;A String&quot;,
       ],
@@ -269,7 +269,7 @@
                   &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
                   &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
                   &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-                  &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+                  &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
                   &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
                   &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
                   &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -575,7 +575,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -762,7 +762,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html
index 0e1abe9..6e9490e 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html
@@ -244,7 +244,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -376,7 +376,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -532,7 +532,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -608,7 +608,7 @@
       &quot;tableId&quot;: &quot;A String&quot;, # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
     },
     &quot;gcsSource&quot;: { # Google Cloud Storage location for input content. format. # Google Cloud Storage location for the input content.
-      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
+      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * &#x27;control&#x27; (default): One JSON Control per line.
       &quot;inputUris&quot;: [ # Required. Google Cloud Storage URIs to input files. URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files, and each file can be up to 2 GB. See [Importing product information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
         &quot;A String&quot;,
       ],
@@ -690,7 +690,7 @@
             &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
             &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
             &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
             &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -871,7 +871,7 @@
         &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
         &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
         &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+        &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
         &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
         &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1020,7 +1020,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1153,7 +1153,7 @@
     &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
     &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
     &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+    &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
     &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
     &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1335,7 +1335,7 @@
       &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
       &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
       &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-      &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+      &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
       &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
       &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
       &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -1382,7 +1382,7 @@
       # Object with schema name: GoogleCloudRetailV2betaProduct
     ],
   },
-  &quot;setMask&quot;: &quot;A String&quot;, # Indicates which inventory fields in the provided Product to update. If not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.
+  &quot;setMask&quot;: &quot;A String&quot;, # Indicates which inventory fields in the provided Product to update. At least one field must be provided. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.
   &quot;setTime&quot;: &quot;A String&quot;, # The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded. If not provided, the internal system time will be used.
 }
 
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
index 241bb2e..be8c64f 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
@@ -220,7 +220,7 @@
             &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
             &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
             &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+            &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
             &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
             &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -394,7 +394,7 @@
   &quot;variantRollupKeys&quot;: [ # The keys to fetch and rollup the matching variant Products attributes, FulfillmentInfo or LocalInventorys attributes. The attributes from all the matching variant Products or LocalInventorys are merged and de-duplicated. Notice that rollup attributes will lead to extra query latency. Maximum number of keys is 30. For FulfillmentInfo, a fulfillment type and a fulfillment ID must be provided in the format of &quot;fulfillmentType.fulfillmentId&quot;. E.g., in &quot;pickupInStore.store123&quot;, &quot;pickupInStore&quot; is fulfillment type and &quot;store123&quot; is the store ID. Supported keys are: * colorFamilies * price * originalPrice * discount * variantId * inventory(place_id,price) * inventory(place_id,original_price) * inventory(place_id,attributes.key), where key is any key in the Product.inventories.attributes map. * attributes.key, where key is any key in the Product.attributes map. * pickupInStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;pickup-in-store&quot;. * shipToStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;ship-to-store&quot;. * sameDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;same-day-delivery&quot;. * nextDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;next-day-delivery&quot;. * customFulfillment1.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-1&quot;. * customFulfillment2.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-2&quot;. * customFulfillment3.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-3&quot;. * customFulfillment4.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-4&quot;. * customFulfillment5.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type &quot;custom-type-5&quot;. If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     &quot;A String&quot;,
   ],
-  &quot;visitorId&quot;: &quot;A String&quot;, # Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
+  &quot;visitorId&quot;: &quot;A String&quot;, # Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
 }
 
   x__xgafv: string, V1 error format.
@@ -517,7 +517,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
index 036d60d..0935bc5 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
@@ -153,7 +153,7 @@
       &quot;tableId&quot;: &quot;A String&quot;, # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
     },
     &quot;gcsSource&quot;: { # Google Cloud Storage location for input content. format. # Required. Google Cloud Storage location for the input content.
-      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
+      &quot;dataSchema&quot;: &quot;A String&quot;, # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * &#x27;control&#x27; (default): One JSON Control per line.
       &quot;inputUris&quot;: [ # Required. Google Cloud Storage URIs to input files. URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files, and each file can be up to 2 GB. See [Importing product information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
         &quot;A String&quot;,
       ],
@@ -269,7 +269,7 @@
                   &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
                   &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
                   &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-                  &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+                  &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
                   &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
                   &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
                   &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -575,7 +575,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
@@ -762,7 +762,7 @@
           &quot;cost&quot;: 3.14, # The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
           &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the same Product.primary_product_id must share the same currency_code. Otherwise, a FAILED_PRECONDITION error is returned.
           &quot;originalPrice&quot;: 3.14, # Price of the product without any discount. If zero, by default set to be the price.
-          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).
+          &quot;price&quot;: 3.14, # Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).
           &quot;priceEffectiveTime&quot;: &quot;A String&quot;, # The timestamp when the price starts to be effective. This can be set as a future timestamp, and the price is only used for search after price_effective_time. If so, the original_price must be set and original_price is used before price_effective_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceExpireTime&quot;: &quot;A String&quot;, # The timestamp when the price stops to be effective. The price is used for search before price_expire_time. If this field is set, the original_price must be set and original_price is used after price_expire_time. Do not set if price is always effective because it will cause additional latency during search.
           &quot;priceRange&quot;: { # The price range of all variant Product having the same Product.primary_product_id. # Output only. The price range of all the child Product.Type.VARIANT Products grouped together on the Product.Type.PRIMARY Product. Only populated for Product.Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests.
diff --git a/docs/dyn/securitycenter_v1.folders.sources.findings.html b/docs/dyn/securitycenter_v1.folders.sources.findings.html
index 69d34aa..3a1aeb0 100644
--- a/docs/dyn/securitycenter_v1.folders.sources.findings.html
+++ b/docs/dyn/securitycenter_v1.folders.sources.findings.html
@@ -192,6 +192,16 @@
   &quot;listFindingsResults&quot;: [ # Findings matching the list request.
     { # Result containing the Finding and its StateChange.
       &quot;finding&quot;: { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding matching the search request.
+        &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+          &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+          &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+            &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+          },
+          &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+          &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+          &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+          &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+        },
         &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
         &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
         &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -217,6 +227,19 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+          &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+            &quot;A String&quot;,
+          ],
+          &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+            &quot;A String&quot;,
+          ],
+          &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+          &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+            &quot;A String&quot;,
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+        },
         &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
         &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
         &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -306,6 +329,16 @@
     The object takes the form of:
 
 { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -331,6 +364,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -383,6 +429,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -408,6 +464,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -473,6 +542,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -498,6 +577,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -564,6 +656,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -589,6 +691,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
diff --git a/docs/dyn/securitycenter_v1.organizations.sources.findings.html b/docs/dyn/securitycenter_v1.organizations.sources.findings.html
index 64863d2..2cba103 100644
--- a/docs/dyn/securitycenter_v1.organizations.sources.findings.html
+++ b/docs/dyn/securitycenter_v1.organizations.sources.findings.html
@@ -125,6 +125,16 @@
     The object takes the form of:
 
 { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -150,6 +160,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -202,6 +225,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -227,6 +260,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -350,6 +396,16 @@
   &quot;listFindingsResults&quot;: [ # Findings matching the list request.
     { # Result containing the Finding and its StateChange.
       &quot;finding&quot;: { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding matching the search request.
+        &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+          &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+          &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+            &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+          },
+          &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+          &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+          &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+          &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+        },
         &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
         &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
         &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -375,6 +431,19 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+          &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+            &quot;A String&quot;,
+          ],
+          &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+            &quot;A String&quot;,
+          ],
+          &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+          &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+            &quot;A String&quot;,
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+        },
         &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
         &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
         &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -464,6 +533,16 @@
     The object takes the form of:
 
 { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -489,6 +568,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -541,6 +633,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -566,6 +668,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -631,6 +746,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -656,6 +781,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -722,6 +860,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -747,6 +895,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
diff --git a/docs/dyn/securitycenter_v1.projects.sources.findings.html b/docs/dyn/securitycenter_v1.projects.sources.findings.html
index d5c9ff8..f1538ff 100644
--- a/docs/dyn/securitycenter_v1.projects.sources.findings.html
+++ b/docs/dyn/securitycenter_v1.projects.sources.findings.html
@@ -192,6 +192,16 @@
   &quot;listFindingsResults&quot;: [ # Findings matching the list request.
     { # Result containing the Finding and its StateChange.
       &quot;finding&quot;: { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding matching the search request.
+        &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+          &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+          &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+            &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+          },
+          &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+          &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+          &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+          &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+        },
         &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
         &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
         &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -217,6 +227,19 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+          &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+            &quot;A String&quot;,
+          ],
+          &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+            &quot;A String&quot;,
+          ],
+          &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+          &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+            &quot;A String&quot;,
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+        },
         &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
         &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
         &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -306,6 +329,16 @@
     The object takes the form of:
 
 { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -331,6 +364,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -383,6 +429,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -408,6 +464,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -473,6 +542,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -498,6 +577,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
@@ -564,6 +656,16 @@
   An object of the form:
 
     { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
+  &quot;access&quot;: { # Represents an access event. # Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc.
+    &quot;callerIp&quot;: &quot;A String&quot;, # Caller&#x27;s IP address, such as &quot;1.1.1.1&quot;.
+    &quot;callerIpGeo&quot;: { # Represents a geographical location for a given access. # The caller IP&#x27;s geolocation, which identifies where the call came from.
+      &quot;regionCode&quot;: &quot;A String&quot;, # A CLDR.
+    },
+    &quot;methodName&quot;: &quot;A String&quot;, # The method that the service account called, e.g. &quot;SetIamPolicy&quot;.
+    &quot;principalEmail&quot;: &quot;A String&quot;, # Associated email, such as &quot;foo@google.com&quot;.
+    &quot;serviceName&quot;: &quot;A String&quot;, # This is the API service that the service account made a call to, e.g. &quot;iam.googleapis.com&quot;
+    &quot;userAgentFamily&quot;: &quot;A String&quot;, # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.
+  },
   &quot;canonicalName&quot;: &quot;A String&quot;, # The canonical name of the finding. It&#x27;s either &quot;organizations/{organization_id}/sources/{source_id}/findings/{finding_id}&quot;, &quot;folders/{folder_id}/sources/{source_id}/findings/{finding_id}&quot; or &quot;projects/{project_number}/sources/{source_id}/findings/{finding_id}&quot;, depending on the closest CRM ancestor of the resource associated with the finding.
   &quot;category&quot;: &quot;A String&quot;, # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: &quot;XSS_FLASH_INJECTION&quot;
   &quot;createTime&quot;: &quot;A String&quot;, # The time at which the finding was created in Security Command Center.
@@ -589,6 +691,19 @@
       &quot;A String&quot;,
     ],
   },
+  &quot;mitreAttack&quot;: { # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&amp;CK tactics and techniques related to this finding. See: https://attack.mitre.org
+    &quot;additionalTactics&quot;: [ # Additional MITRE ATT&amp;CK tactics related to this finding, if any.
+      &quot;A String&quot;,
+    ],
+    &quot;additionalTechniques&quot;: [ # Additional MITRE ATT&amp;CK techniques related to this finding, if any, along with any of their respective parent techniques.
+      &quot;A String&quot;,
+    ],
+    &quot;primaryTactic&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK tactic most closely represented by this finding, if any.
+    &quot;primaryTechniques&quot;: [ # The MITRE ATT&amp;CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&amp;CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).
+      &quot;A String&quot;,
+    ],
+    &quot;version&quot;: &quot;A String&quot;, # The MITRE ATT&amp;CK version referenced by the above fields. E.g. &quot;8&quot;.
+  },
   &quot;mute&quot;: &quot;A String&quot;, # Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).
   &quot;muteInitiator&quot;: &quot;A String&quot;, # First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc.
   &quot;muteUpdateTime&quot;: &quot;A String&quot;, # Output only. The most recent time this finding was muted or unmuted.
diff --git a/docs/dyn/slides_v1.presentations.html b/docs/dyn/slides_v1.presentations.html
index bee6c9e..1eaf511 100644
--- a/docs/dyn/slides_v1.presentations.html
+++ b/docs/dyn/slides_v1.presentations.html
@@ -777,7 +777,1014 @@
           &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
           &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
           &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-          &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
+          &quot;notesPage&quot;: { # A page in a presentation. # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
+            &quot;layoutProperties&quot;: { # The properties of Page are only relevant for pages with page_type LAYOUT. # Layout specific properties. Only set if page_type = LAYOUT.
+              &quot;displayName&quot;: &quot;A String&quot;, # The human-readable name of the layout.
+              &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this layout is based on.
+              &quot;name&quot;: &quot;A String&quot;, # The name of the layout.
+            },
+            &quot;masterProperties&quot;: { # The properties of Page that are only relevant for pages with page_type MASTER. # Master specific properties. Only set if page_type = MASTER.
+              &quot;displayName&quot;: &quot;A String&quot;, # The human-readable name of the master.
+            },
+            &quot;notesProperties&quot;: { # The properties of Page that are only relevant for pages with page_type NOTES. # Notes specific properties. Only set if page_type = NOTES.
+              &quot;speakerNotesObjectId&quot;: &quot;A String&quot;, # The object ID of the shape on this notes page that contains the speaker notes for the corresponding slide. The actual shape may not always exist on the notes page. Inserting text using this object ID will automatically create the shape. In this case, the actual shape may have different object ID. The `GetPresentation` or `GetPage` action will always return the latest object ID.
+            },
+            &quot;objectId&quot;: &quot;A String&quot;, # The object ID for this page. Object IDs used by Page and PageElement share the same namespace.
+            &quot;pageElements&quot;: [ # The page elements rendered on the page.
+              { # A visual element rendered on a page.
+                &quot;description&quot;: &quot;A String&quot;, # The description of the page element. Combined with title to display alt text. The field is not supported for Group elements.
+                &quot;elementGroup&quot;: { # A PageElement kind representing a joined collection of PageElements. # A collection of page elements joined as a single unit.
+                  &quot;children&quot;: [ # The collection of elements in the group. The minimum size of a group is 2.
+                    # Object with schema name: PageElement
+                  ],
+                },
+                &quot;image&quot;: { # A PageElement kind representing an image. # An image page element.
+                  &quot;contentUrl&quot;: &quot;A String&quot;, # An URL to an image with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation&#x27;s sharing settings change.
+                  &quot;imageProperties&quot;: { # The properties of the Image. # The properties of the image.
+                    &quot;brightness&quot;: 3.14, # The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                    &quot;contrast&quot;: 3.14, # The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                    &quot;cropProperties&quot;: { # The crop properties of an object enclosed in a container. For example, an Image. The crop properties is represented by the offsets of four edges which define a crop rectangle. The offsets are measured in percentage from the corresponding edges of the object&#x27;s original bounding rectangle towards inside, relative to the object&#x27;s original dimensions. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the object&#x27;s original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the object&#x27;s original bounding rectangle. - If the left edge of the crop rectangle is on the right side of its right edge, the object will be flipped horizontally. - If the top edge of the crop rectangle is below its bottom edge, the object will be flipped vertically. - If all offsets and rotation angle is 0, the object is not cropped. After cropping, the content in the crop rectangle will be stretched to fit its container. # The crop properties of the image. If not set, the image is not cropped. This property is read-only.
+                      &quot;angle&quot;: 3.14, # The rotation angle of the crop window around its center, in radians. Rotation angle is applied after the offset.
+                      &quot;bottomOffset&quot;: 3.14, # The offset specifies the bottom edge of the crop rectangle that is located above the original bounding rectangle bottom edge, relative to the object&#x27;s original height.
+                      &quot;leftOffset&quot;: 3.14, # The offset specifies the left edge of the crop rectangle that is located to the right of the original bounding rectangle left edge, relative to the object&#x27;s original width.
+                      &quot;rightOffset&quot;: 3.14, # The offset specifies the right edge of the crop rectangle that is located to the left of the original bounding rectangle right edge, relative to the object&#x27;s original width.
+                      &quot;topOffset&quot;: 3.14, # The offset specifies the top edge of the crop rectangle that is located below the original bounding rectangle top edge, relative to the object&#x27;s original height.
+                    },
+                    &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
+                      &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                      &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                      &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                      &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                    },
+                    &quot;outline&quot;: { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the image. If not set, the image has no outline.
+                      &quot;dashStyle&quot;: &quot;A String&quot;, # The dash style of the outline.
+                      &quot;outlineFill&quot;: { # The fill of the outline. # The fill of the outline.
+                        &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill.
+                          &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                          &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                            &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                              &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                              &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                            &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                          },
+                        },
+                      },
+                      &quot;propertyState&quot;: &quot;A String&quot;, # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored.
+                      &quot;weight&quot;: { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                      },
+                    },
+                    &quot;recolor&quot;: { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored. This property is read-only.
+                      &quot;name&quot;: &quot;A String&quot;, # The name of the recolor effect. The name is determined from the `recolor_stops` by matching the gradient against the colors in the page&#x27;s current color scheme. This property is read-only.
+                      &quot;recolorStops&quot;: [ # The recolor effect is represented by a gradient, which is a list of color stops. The colors in the gradient will replace the corresponding colors at the same position in the color palette and apply to the image. This property is read-only.
+                        { # A color and position in a gradient band.
+                          &quot;alpha&quot;: 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0, fully opaque.
+                          &quot;color&quot;: { # A themeable solid color value. # The color of the gradient stop.
+                            &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                              &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                              &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                            &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                          },
+                          &quot;position&quot;: 3.14, # The relative position of the color stop in the gradient band measured in percentage. The value should be in the interval [0.0, 1.0].
+                        },
+                      ],
+                    },
+                    &quot;shadow&quot;: { # The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The shadow of the image. If not set, the image has no shadow. This property is read-only.
+                      &quot;alignment&quot;: &quot;A String&quot;, # The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only.
+                      &quot;alpha&quot;: 3.14, # The alpha of the shadow&#x27;s color, from 0.0 to 1.0.
+                      &quot;blurRadius&quot;: { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes.
+                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                      },
+                      &quot;color&quot;: { # A themeable solid color value. # The shadow color value.
+                        &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                          &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                          &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                        &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                      },
+                      &quot;propertyState&quot;: &quot;A String&quot;, # The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored.
+                      &quot;rotateWithShape&quot;: True or False, # Whether the shadow should rotate with the shape. This property is read-only.
+                      &quot;transform&quot;: { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x&#x27;, y&#x27;) according to: x&#x27; x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x&#x27; = scale_x * x + shear_x * y + translate_x; y&#x27; = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position.
+                        &quot;scaleX&quot;: 3.14, # The X coordinate scaling element.
+                        &quot;scaleY&quot;: 3.14, # The Y coordinate scaling element.
+                        &quot;shearX&quot;: 3.14, # The X coordinate shearing element.
+                        &quot;shearY&quot;: 3.14, # The Y coordinate shearing element.
+                        &quot;translateX&quot;: 3.14, # The X coordinate translation element.
+                        &quot;translateY&quot;: 3.14, # The Y coordinate translation element.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for translate elements.
+                      },
+                      &quot;type&quot;: &quot;A String&quot;, # The type of the shadow. This property is read-only.
+                    },
+                    &quot;transparency&quot;: 3.14, # The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means completely transparent. This property is read-only.
+                  },
+                  &quot;placeholder&quot;: { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are page elements that inherit from corresponding placeholders on layouts and masters. If set, the image is a placeholder image and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field.
+                    &quot;index&quot;: 42, # The index of the placeholder. If the same placeholder types are present in the same page, they would have different index values.
+                    &quot;parentObjectId&quot;: &quot;A String&quot;, # The object ID of this shape&#x27;s parent placeholder. If unset, the parent placeholder shape does not exist, so the shape does not inherit properties from any other shape.
+                    &quot;type&quot;: &quot;A String&quot;, # The type of the placeholder.
+                  },
+                  &quot;sourceUrl&quot;: &quot;A String&quot;, # The source URL is the URL used to insert the image. The source URL can be empty.
+                },
+                &quot;line&quot;: { # A PageElement kind representing a non-connector line, straight connector, curved connector, or bent connector. # A line page element.
+                  &quot;lineCategory&quot;: &quot;A String&quot;, # The category of the line. It matches the `category` specified in CreateLineRequest, and can be updated with UpdateLineCategoryRequest.
+                  &quot;lineProperties&quot;: { # The properties of the Line. When unset, these fields default to values that match the appearance of new lines created in the Slides editor. # The properties of the line.
+                    &quot;dashStyle&quot;: &quot;A String&quot;, # The dash style of the line.
+                    &quot;endArrow&quot;: &quot;A String&quot;, # The style of the arrow at the end of the line.
+                    &quot;endConnection&quot;: { # The properties for one end of a Line connection. # The connection at the end of the line. If unset, there is no connection. Only lines with a Type indicating it is a &quot;connector&quot; can have an `end_connection`.
+                      &quot;connectedObjectId&quot;: &quot;A String&quot;, # The object ID of the connected page element. Some page elements, such as groups, tables, and lines do not have connection sites and therefore cannot be connected to a connector line.
+                      &quot;connectionSiteIndex&quot;: 42, # The index of the connection site on the connected page element. In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in the description of the &quot;cnx&quot; attribute in section 20.1.9.9 and Annex H. &quot;Predefined DrawingML Shape and Text Geometries&quot; of &quot;Office Open XML File Formats-Fundamentals and Markup Language Reference&quot;, part 1 of [ECMA-376 5th edition] (http://www.ecma-international.org/publications/standards/Ecma-376.htm). The position of each connection site can also be viewed from Slides editor.
+                    },
+                    &quot;lineFill&quot;: { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new lines created in the Slides editor.
+                      &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill.
+                        &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                        &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                          &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                            &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                            &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                          &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                        },
+                      },
+                    },
+                    &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
+                      &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                      &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                      &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                      &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                    },
+                    &quot;startArrow&quot;: &quot;A String&quot;, # The style of the arrow at the beginning of the line.
+                    &quot;startConnection&quot;: { # The properties for one end of a Line connection. # The connection at the beginning of the line. If unset, there is no connection. Only lines with a Type indicating it is a &quot;connector&quot; can have a `start_connection`.
+                      &quot;connectedObjectId&quot;: &quot;A String&quot;, # The object ID of the connected page element. Some page elements, such as groups, tables, and lines do not have connection sites and therefore cannot be connected to a connector line.
+                      &quot;connectionSiteIndex&quot;: 42, # The index of the connection site on the connected page element. In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in the description of the &quot;cnx&quot; attribute in section 20.1.9.9 and Annex H. &quot;Predefined DrawingML Shape and Text Geometries&quot; of &quot;Office Open XML File Formats-Fundamentals and Markup Language Reference&quot;, part 1 of [ECMA-376 5th edition] (http://www.ecma-international.org/publications/standards/Ecma-376.htm). The position of each connection site can also be viewed from Slides editor.
+                    },
+                    &quot;weight&quot;: { # A magnitude in a single direction in the specified units. # The thickness of the line.
+                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                    },
+                  },
+                  &quot;lineType&quot;: &quot;A String&quot;, # The type of the line.
+                },
+                &quot;objectId&quot;: &quot;A String&quot;, # The object ID for this page element. Object IDs used by google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share the same namespace.
+                &quot;shape&quot;: { # A PageElement kind representing a generic shape that does not have a more specific classification. # A generic shape.
+                  &quot;placeholder&quot;: { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are page elements that inherit from corresponding placeholders on layouts and masters. If set, the shape is a placeholder shape and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field.
+                    &quot;index&quot;: 42, # The index of the placeholder. If the same placeholder types are present in the same page, they would have different index values.
+                    &quot;parentObjectId&quot;: &quot;A String&quot;, # The object ID of this shape&#x27;s parent placeholder. If unset, the parent placeholder shape does not exist, so the shape does not inherit properties from any other shape.
+                    &quot;type&quot;: &quot;A String&quot;, # The type of the placeholder.
+                  },
+                  &quot;shapeProperties&quot;: { # The properties of a Shape. If the shape is a placeholder shape as determined by the placeholder field, then these properties may be inherited from a parent placeholder shape. Determining the rendered value of the property depends on the corresponding property_state field value. Any text autofit settings on the shape are automatically deactivated by requests that can impact how text fits in the shape. # The properties of the shape.
+                    &quot;autofit&quot;: { # The autofit properties of a Shape. # The autofit properties of the shape. This property is only set for shapes that allow text.
+                      &quot;autofitType&quot;: &quot;A String&quot;, # The autofit type of the shape. If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent placeholder if it exists. The field is automatically set to NONE if a request is made that might affect text fitting within its bounding text box. In this case the font_scale is applied to the font_size and the line_spacing_reduction is applied to the line_spacing. Both properties are also reset to default values.
+                      &quot;fontScale&quot;: 3.14, # The font scale applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 1. For TEXT_AUTOFIT, this value multiplied by the font_size gives the font size that is rendered in the editor. This property is read-only.
+                      &quot;lineSpacingReduction&quot;: 3.14, # The line spacing reduction applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing gives the line spacing that is rendered in the editor. This property is read-only.
+                    },
+                    &quot;contentAlignment&quot;: &quot;A String&quot;, # The alignment of the content in the shape. If unspecified, the alignment is inherited from a parent placeholder if it exists. If the shape has no parent, the default alignment matches the alignment for new shapes created in the Slides editor.
+                    &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links are not inherited from parent placeholders.
+                      &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                      &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                      &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                      &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                    },
+                    &quot;outline&quot;: { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the shape. If unset, the outline is inherited from a parent placeholder if it exists. If the shape has no parent, then the default outline depends on the shape type, matching the defaults for new shapes created in the Slides editor.
+                      &quot;dashStyle&quot;: &quot;A String&quot;, # The dash style of the outline.
+                      &quot;outlineFill&quot;: { # The fill of the outline. # The fill of the outline.
+                        &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill.
+                          &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                          &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                            &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                              &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                              &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                            &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                          },
+                        },
+                      },
+                      &quot;propertyState&quot;: &quot;A String&quot;, # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored.
+                      &quot;weight&quot;: { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                      },
+                    },
+                    &quot;shadow&quot;: { # The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The shadow properties of the shape. If unset, the shadow is inherited from a parent placeholder if it exists. If the shape has no parent, then the default shadow matches the defaults for new shapes created in the Slides editor. This property is read-only.
+                      &quot;alignment&quot;: &quot;A String&quot;, # The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only.
+                      &quot;alpha&quot;: 3.14, # The alpha of the shadow&#x27;s color, from 0.0 to 1.0.
+                      &quot;blurRadius&quot;: { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes.
+                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                      },
+                      &quot;color&quot;: { # A themeable solid color value. # The shadow color value.
+                        &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                          &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                          &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                        &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                      },
+                      &quot;propertyState&quot;: &quot;A String&quot;, # The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored.
+                      &quot;rotateWithShape&quot;: True or False, # Whether the shadow should rotate with the shape. This property is read-only.
+                      &quot;transform&quot;: { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x&#x27;, y&#x27;) according to: x&#x27; x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x&#x27; = scale_x * x + shear_x * y + translate_x; y&#x27; = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position.
+                        &quot;scaleX&quot;: 3.14, # The X coordinate scaling element.
+                        &quot;scaleY&quot;: 3.14, # The Y coordinate scaling element.
+                        &quot;shearX&quot;: 3.14, # The X coordinate shearing element.
+                        &quot;shearY&quot;: 3.14, # The Y coordinate shearing element.
+                        &quot;translateX&quot;: 3.14, # The X coordinate translation element.
+                        &quot;translateY&quot;: 3.14, # The Y coordinate translation element.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for translate elements.
+                      },
+                      &quot;type&quot;: &quot;A String&quot;, # The type of the shadow. This property is read-only.
+                    },
+                    &quot;shapeBackgroundFill&quot;: { # The shape background fill. # The background fill of the shape. If unset, the background fill is inherited from a parent placeholder if it exists. If the shape has no parent, then the default background fill depends on the shape type, matching the defaults for new shapes created in the Slides editor.
+                      &quot;propertyState&quot;: &quot;A String&quot;, # The background fill property state. Updating the fill on a shape will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a shape, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.
+                      &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill.
+                        &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                        &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                          &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                            &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                            &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                          &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                        },
+                      },
+                    },
+                  },
+                  &quot;shapeType&quot;: &quot;A String&quot;, # The type of the shape.
+                  &quot;text&quot;: { # The general text content. The text must reside in a compatible shape (e.g. text box or rectangle) or a table cell in a page. # The text content of the shape.
+                    &quot;lists&quot;: { # The bulleted lists contained in this text, keyed by list ID.
+                      &quot;a_key&quot;: { # A List describes the look and feel of bullets belonging to paragraphs associated with a list. A paragraph that is part of a list has an implicit reference to that list&#x27;s ID.
+                        &quot;listId&quot;: &quot;A String&quot;, # The ID of the list.
+                        &quot;nestingLevel&quot;: { # A map of nesting levels to the properties of bullets at the associated level. A list has at most nine levels of nesting, so the possible values for the keys of this map are 0 through 8, inclusive.
+                          &quot;a_key&quot;: { # Contains properties describing the look and feel of a list bullet at a given level of nesting.
+                            &quot;bulletStyle&quot;: { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The style of a bullet at this level of nesting.
+                              &quot;backgroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                  &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                    &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                    &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                    &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                  },
+                                  &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                },
+                              },
+                              &quot;baselineOffset&quot;: &quot;A String&quot;, # The text&#x27;s vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
+                              &quot;bold&quot;: True or False, # Whether or not the text is rendered as bold.
+                              &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
+                              &quot;fontSize&quot;: { # A magnitude in a single direction in the specified units. # The size of the text&#x27;s font. When read, the `font_size` will specified in points.
+                                &quot;magnitude&quot;: 3.14, # The magnitude.
+                                &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                              },
+                              &quot;foregroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                  &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                    &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                    &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                    &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                  },
+                                  &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                },
+                              },
+                              &quot;italic&quot;: True or False, # Whether or not the text is italicized.
+                              &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `&quot;ABC\n123&quot;`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request.
+                                &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                                &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                                &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                                &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                              },
+                              &quot;smallCaps&quot;: True or False, # Whether or not the text is in small capital letters.
+                              &quot;strikethrough&quot;: True or False, # Whether or not the text is struck through.
+                              &quot;underline&quot;: True or False, # Whether or not the text is underlined.
+                              &quot;weightedFontFamily&quot;: { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `&quot;*&quot;`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (&quot;normal&quot;). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
+                                &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
+                                &quot;weight&quot;: 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (&quot;normal&quot;).
+                              },
+                            },
+                          },
+                        },
+                      },
+                    },
+                    &quot;textElements&quot;: [ # The text contents broken down into its component parts, including styling information. This property is read-only.
+                      { # A TextElement describes the content of a range of indices in the text content of a Shape or TableCell.
+                        &quot;autoText&quot;: { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically replaced with content that can change over time.
+                          &quot;content&quot;: &quot;A String&quot;, # The rendered content of this auto text, if available.
+                          &quot;style&quot;: { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The styling applied to this auto text.
+                            &quot;backgroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                              &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                  &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                                &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                              },
+                            },
+                            &quot;baselineOffset&quot;: &quot;A String&quot;, # The text&#x27;s vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
+                            &quot;bold&quot;: True or False, # Whether or not the text is rendered as bold.
+                            &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
+                            &quot;fontSize&quot;: { # A magnitude in a single direction in the specified units. # The size of the text&#x27;s font. When read, the `font_size` will specified in points.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                            &quot;foregroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                              &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                  &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                                &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                              },
+                            },
+                            &quot;italic&quot;: True or False, # Whether or not the text is italicized.
+                            &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `&quot;ABC\n123&quot;`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request.
+                              &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                              &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                              &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                              &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                            },
+                            &quot;smallCaps&quot;: True or False, # Whether or not the text is in small capital letters.
+                            &quot;strikethrough&quot;: True or False, # Whether or not the text is struck through.
+                            &quot;underline&quot;: True or False, # Whether or not the text is underlined.
+                            &quot;weightedFontFamily&quot;: { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `&quot;*&quot;`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (&quot;normal&quot;). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
+                              &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
+                              &quot;weight&quot;: 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (&quot;normal&quot;).
+                            },
+                          },
+                          &quot;type&quot;: &quot;A String&quot;, # The type of this auto text.
+                        },
+                        &quot;endIndex&quot;: 42, # The zero-based end index of this text element, exclusive, in Unicode code units.
+                        &quot;paragraphMarker&quot;: { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph. The `start_index` and `end_index` of this TextElement represent the range of the paragraph. Other TextElements with an index range contained inside this paragraph&#x27;s range are considered to be part of this paragraph. The range of indices of two separate paragraphs will never overlap.
+                          &quot;bullet&quot;: { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not belong to a list.
+                            &quot;bulletStyle&quot;: { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The paragraph specific text style applied to this bullet.
+                              &quot;backgroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                  &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                    &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                    &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                    &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                  },
+                                  &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                },
+                              },
+                              &quot;baselineOffset&quot;: &quot;A String&quot;, # The text&#x27;s vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
+                              &quot;bold&quot;: True or False, # Whether or not the text is rendered as bold.
+                              &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
+                              &quot;fontSize&quot;: { # A magnitude in a single direction in the specified units. # The size of the text&#x27;s font. When read, the `font_size` will specified in points.
+                                &quot;magnitude&quot;: 3.14, # The magnitude.
+                                &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                              },
+                              &quot;foregroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                  &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                    &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                    &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                    &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                  },
+                                  &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                },
+                              },
+                              &quot;italic&quot;: True or False, # Whether or not the text is italicized.
+                              &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `&quot;ABC\n123&quot;`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request.
+                                &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                                &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                                &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                                &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                              },
+                              &quot;smallCaps&quot;: True or False, # Whether or not the text is in small capital letters.
+                              &quot;strikethrough&quot;: True or False, # Whether or not the text is struck through.
+                              &quot;underline&quot;: True or False, # Whether or not the text is underlined.
+                              &quot;weightedFontFamily&quot;: { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `&quot;*&quot;`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (&quot;normal&quot;). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
+                                &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
+                                &quot;weight&quot;: 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (&quot;normal&quot;).
+                              },
+                            },
+                            &quot;glyph&quot;: &quot;A String&quot;, # The rendered bullet glyph for this paragraph.
+                            &quot;listId&quot;: &quot;A String&quot;, # The ID of the list this paragraph belongs to.
+                            &quot;nestingLevel&quot;: 42, # The nesting level of this paragraph in the list.
+                          },
+                          &quot;style&quot;: { # Styles that apply to a whole paragraph. If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists: * A paragraph not in a list will inherit its paragraph style from the paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited paragraph styles are represented as unset fields in this message. # The paragraph&#x27;s style
+                            &quot;alignment&quot;: &quot;A String&quot;, # The text alignment for this paragraph.
+                            &quot;direction&quot;: &quot;A String&quot;, # The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited.
+                            &quot;indentEnd&quot;: { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                            &quot;indentFirstLine&quot;: { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                            &quot;indentStart&quot;: { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                            &quot;lineSpacing&quot;: 3.14, # The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent.
+                            &quot;spaceAbove&quot;: { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is inherited from the parent.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                            &quot;spaceBelow&quot;: { # A magnitude in a single direction in the specified units. # The amount of extra space below the paragraph. If unset, the value is inherited from the parent.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                            &quot;spacingMode&quot;: &quot;A String&quot;, # The spacing mode for the paragraph.
+                          },
+                        },
+                        &quot;startIndex&quot;: 42, # The zero-based start index of this text element, in Unicode code units.
+                        &quot;textRun&quot;: { # A TextElement kind that represents a run of text that all has the same styling. # A TextElement representing a run of text where all of the characters in the run have the same TextStyle. The `start_index` and `end_index` of TextRuns will always be fully contained in the index range of a single `paragraph_marker` TextElement. In other words, a TextRun will never span multiple paragraphs.
+                          &quot;content&quot;: &quot;A String&quot;, # The text of this run.
+                          &quot;style&quot;: { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The styling applied to this run.
+                            &quot;backgroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                              &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                  &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                                &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                              },
+                            },
+                            &quot;baselineOffset&quot;: &quot;A String&quot;, # The text&#x27;s vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
+                            &quot;bold&quot;: True or False, # Whether or not the text is rendered as bold.
+                            &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
+                            &quot;fontSize&quot;: { # A magnitude in a single direction in the specified units. # The size of the text&#x27;s font. When read, the `font_size` will specified in points.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                            &quot;foregroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                              &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                  &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                                &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                              },
+                            },
+                            &quot;italic&quot;: True or False, # Whether or not the text is italicized.
+                            &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `&quot;ABC\n123&quot;`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request.
+                              &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                              &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                              &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                              &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                            },
+                            &quot;smallCaps&quot;: True or False, # Whether or not the text is in small capital letters.
+                            &quot;strikethrough&quot;: True or False, # Whether or not the text is struck through.
+                            &quot;underline&quot;: True or False, # Whether or not the text is underlined.
+                            &quot;weightedFontFamily&quot;: { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `&quot;*&quot;`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (&quot;normal&quot;). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
+                              &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
+                              &quot;weight&quot;: 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (&quot;normal&quot;).
+                            },
+                          },
+                        },
+                      },
+                    ],
+                  },
+                },
+                &quot;sheetsChart&quot;: { # A PageElement kind representing a linked chart embedded from Google Sheets. # A linked chart embedded from Google Sheets. Unlinked charts are represented as images.
+                  &quot;chartId&quot;: 42, # The ID of the specific chart in the Google Sheets spreadsheet that is embedded.
+                  &quot;contentUrl&quot;: &quot;A String&quot;, # The URL of an image of the embedded chart, with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation&#x27;s sharing settings change.
+                  &quot;sheetsChartProperties&quot;: { # The properties of the SheetsChart. # The properties of the Sheets chart.
+                    &quot;chartImageProperties&quot;: { # The properties of the Image. # The properties of the embedded chart image.
+                      &quot;brightness&quot;: 3.14, # The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                      &quot;contrast&quot;: 3.14, # The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                      &quot;cropProperties&quot;: { # The crop properties of an object enclosed in a container. For example, an Image. The crop properties is represented by the offsets of four edges which define a crop rectangle. The offsets are measured in percentage from the corresponding edges of the object&#x27;s original bounding rectangle towards inside, relative to the object&#x27;s original dimensions. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the object&#x27;s original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the object&#x27;s original bounding rectangle. - If the left edge of the crop rectangle is on the right side of its right edge, the object will be flipped horizontally. - If the top edge of the crop rectangle is below its bottom edge, the object will be flipped vertically. - If all offsets and rotation angle is 0, the object is not cropped. After cropping, the content in the crop rectangle will be stretched to fit its container. # The crop properties of the image. If not set, the image is not cropped. This property is read-only.
+                        &quot;angle&quot;: 3.14, # The rotation angle of the crop window around its center, in radians. Rotation angle is applied after the offset.
+                        &quot;bottomOffset&quot;: 3.14, # The offset specifies the bottom edge of the crop rectangle that is located above the original bounding rectangle bottom edge, relative to the object&#x27;s original height.
+                        &quot;leftOffset&quot;: 3.14, # The offset specifies the left edge of the crop rectangle that is located to the right of the original bounding rectangle left edge, relative to the object&#x27;s original width.
+                        &quot;rightOffset&quot;: 3.14, # The offset specifies the right edge of the crop rectangle that is located to the left of the original bounding rectangle right edge, relative to the object&#x27;s original width.
+                        &quot;topOffset&quot;: 3.14, # The offset specifies the top edge of the crop rectangle that is located below the original bounding rectangle top edge, relative to the object&#x27;s original height.
+                      },
+                      &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
+                        &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                        &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                        &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                        &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                      },
+                      &quot;outline&quot;: { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the image. If not set, the image has no outline.
+                        &quot;dashStyle&quot;: &quot;A String&quot;, # The dash style of the outline.
+                        &quot;outlineFill&quot;: { # The fill of the outline. # The fill of the outline.
+                          &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill.
+                            &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                            &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                              &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                              &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                            },
+                          },
+                        },
+                        &quot;propertyState&quot;: &quot;A String&quot;, # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored.
+                        &quot;weight&quot;: { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                          &quot;magnitude&quot;: 3.14, # The magnitude.
+                          &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                        },
+                      },
+                      &quot;recolor&quot;: { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored. This property is read-only.
+                        &quot;name&quot;: &quot;A String&quot;, # The name of the recolor effect. The name is determined from the `recolor_stops` by matching the gradient against the colors in the page&#x27;s current color scheme. This property is read-only.
+                        &quot;recolorStops&quot;: [ # The recolor effect is represented by a gradient, which is a list of color stops. The colors in the gradient will replace the corresponding colors at the same position in the color palette and apply to the image. This property is read-only.
+                          { # A color and position in a gradient band.
+                            &quot;alpha&quot;: 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0, fully opaque.
+                            &quot;color&quot;: { # A themeable solid color value. # The color of the gradient stop.
+                              &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                              &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                            },
+                            &quot;position&quot;: 3.14, # The relative position of the color stop in the gradient band measured in percentage. The value should be in the interval [0.0, 1.0].
+                          },
+                        ],
+                      },
+                      &quot;shadow&quot;: { # The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The shadow of the image. If not set, the image has no shadow. This property is read-only.
+                        &quot;alignment&quot;: &quot;A String&quot;, # The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only.
+                        &quot;alpha&quot;: 3.14, # The alpha of the shadow&#x27;s color, from 0.0 to 1.0.
+                        &quot;blurRadius&quot;: { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes.
+                          &quot;magnitude&quot;: 3.14, # The magnitude.
+                          &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                        },
+                        &quot;color&quot;: { # A themeable solid color value. # The shadow color value.
+                          &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                            &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                            &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                          &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                        },
+                        &quot;propertyState&quot;: &quot;A String&quot;, # The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored.
+                        &quot;rotateWithShape&quot;: True or False, # Whether the shadow should rotate with the shape. This property is read-only.
+                        &quot;transform&quot;: { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x&#x27;, y&#x27;) according to: x&#x27; x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x&#x27; = scale_x * x + shear_x * y + translate_x; y&#x27; = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position.
+                          &quot;scaleX&quot;: 3.14, # The X coordinate scaling element.
+                          &quot;scaleY&quot;: 3.14, # The Y coordinate scaling element.
+                          &quot;shearX&quot;: 3.14, # The X coordinate shearing element.
+                          &quot;shearY&quot;: 3.14, # The Y coordinate shearing element.
+                          &quot;translateX&quot;: 3.14, # The X coordinate translation element.
+                          &quot;translateY&quot;: 3.14, # The Y coordinate translation element.
+                          &quot;unit&quot;: &quot;A String&quot;, # The units for translate elements.
+                        },
+                        &quot;type&quot;: &quot;A String&quot;, # The type of the shadow. This property is read-only.
+                      },
+                      &quot;transparency&quot;: 3.14, # The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means completely transparent. This property is read-only.
+                    },
+                  },
+                  &quot;spreadsheetId&quot;: &quot;A String&quot;, # The ID of the Google Sheets spreadsheet that contains the source chart.
+                },
+                &quot;size&quot;: { # A width and height. # The size of the page element.
+                  &quot;height&quot;: { # A magnitude in a single direction in the specified units. # The height of the object.
+                    &quot;magnitude&quot;: 3.14, # The magnitude.
+                    &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                  },
+                  &quot;width&quot;: { # A magnitude in a single direction in the specified units. # The width of the object.
+                    &quot;magnitude&quot;: 3.14, # The magnitude.
+                    &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                  },
+                },
+                &quot;table&quot;: { # A PageElement kind representing a table. # A table page element.
+                  &quot;columns&quot;: 42, # Number of columns in the table.
+                  &quot;horizontalBorderRows&quot;: [ # Properties of horizontal cell borders. A table&#x27;s horizontal cell borders are represented as a grid. The grid has one more row than the number of rows in the table and the same number of columns as the table. For example, if the table is 3 x 3, its horizontal borders will be represented as a grid with 4 rows and 3 columns.
+                    { # Contents of each border row in a table.
+                      &quot;tableBorderCells&quot;: [ # Properties of each border cell. When a border&#x27;s adjacent table cells are merged, it is not included in the response.
+                        { # The properties of each border cell.
+                          &quot;location&quot;: { # A location of a single table cell within a table. # The location of the border within the border table.
+                            &quot;columnIndex&quot;: 42, # The 0-based column index.
+                            &quot;rowIndex&quot;: 42, # The 0-based row index.
+                          },
+                          &quot;tableBorderProperties&quot;: { # The border styling properties of the TableBorderCell. # The border properties.
+                            &quot;dashStyle&quot;: &quot;A String&quot;, # The dash style of the border.
+                            &quot;tableBorderFill&quot;: { # The fill of the border. # The fill of the table border.
+                              &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid fill.
+                                &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                                &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                                  &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                    &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                    &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                    &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                  },
+                                  &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                },
+                              },
+                            },
+                            &quot;weight&quot;: { # A magnitude in a single direction in the specified units. # The thickness of the border.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                  &quot;rows&quot;: 42, # Number of rows in the table.
+                  &quot;tableColumns&quot;: [ # Properties of each column.
+                    { # Properties of each column in a table.
+                      &quot;columnWidth&quot;: { # A magnitude in a single direction in the specified units. # Width of a column.
+                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                      },
+                    },
+                  ],
+                  &quot;tableRows&quot;: [ # Properties and contents of each row. Cells that span multiple rows are contained in only one of these rows and have a row_span greater than 1.
+                    { # Properties and contents of each row in a table.
+                      &quot;rowHeight&quot;: { # A magnitude in a single direction in the specified units. # Height of a row.
+                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                      },
+                      &quot;tableCells&quot;: [ # Properties and contents of each cell. Cells that span multiple columns are represented only once with a column_span greater than 1. As a result, the length of this collection does not always match the number of columns of the entire table.
+                        { # Properties and contents of each table cell.
+                          &quot;columnSpan&quot;: 42, # Column span of the cell.
+                          &quot;location&quot;: { # A location of a single table cell within a table. # The location of the cell within the table.
+                            &quot;columnIndex&quot;: 42, # The 0-based column index.
+                            &quot;rowIndex&quot;: 42, # The 0-based row index.
+                          },
+                          &quot;rowSpan&quot;: 42, # Row span of the cell.
+                          &quot;tableCellProperties&quot;: { # The properties of the TableCell. # The properties of the table cell.
+                            &quot;contentAlignment&quot;: &quot;A String&quot;, # The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Slides editor.
+                            &quot;tableCellBackgroundFill&quot;: { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill for newly created table cells in the Slides editor.
+                              &quot;propertyState&quot;: &quot;A String&quot;, # The background fill property state. Updating the fill on a table cell will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a table cell, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.
+                              &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill.
+                                &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                                &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                                  &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                    &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                    &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                    &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                  },
+                                  &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                },
+                              },
+                            },
+                          },
+                          &quot;text&quot;: { # The general text content. The text must reside in a compatible shape (e.g. text box or rectangle) or a table cell in a page. # The text content of the cell.
+                            &quot;lists&quot;: { # The bulleted lists contained in this text, keyed by list ID.
+                              &quot;a_key&quot;: { # A List describes the look and feel of bullets belonging to paragraphs associated with a list. A paragraph that is part of a list has an implicit reference to that list&#x27;s ID.
+                                &quot;listId&quot;: &quot;A String&quot;, # The ID of the list.
+                                &quot;nestingLevel&quot;: { # A map of nesting levels to the properties of bullets at the associated level. A list has at most nine levels of nesting, so the possible values for the keys of this map are 0 through 8, inclusive.
+                                  &quot;a_key&quot;: { # Contains properties describing the look and feel of a list bullet at a given level of nesting.
+                                    &quot;bulletStyle&quot;: { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The style of a bullet at this level of nesting.
+                                      &quot;backgroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                        &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                          &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                            &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                            &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                            &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                          },
+                                          &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                        },
+                                      },
+                                      &quot;baselineOffset&quot;: &quot;A String&quot;, # The text&#x27;s vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
+                                      &quot;bold&quot;: True or False, # Whether or not the text is rendered as bold.
+                                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
+                                      &quot;fontSize&quot;: { # A magnitude in a single direction in the specified units. # The size of the text&#x27;s font. When read, the `font_size` will specified in points.
+                                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                      },
+                                      &quot;foregroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                        &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                          &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                            &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                            &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                            &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                          },
+                                          &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                        },
+                                      },
+                                      &quot;italic&quot;: True or False, # Whether or not the text is italicized.
+                                      &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `&quot;ABC\n123&quot;`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request.
+                                        &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                                        &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                                        &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                                        &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                                      },
+                                      &quot;smallCaps&quot;: True or False, # Whether or not the text is in small capital letters.
+                                      &quot;strikethrough&quot;: True or False, # Whether or not the text is struck through.
+                                      &quot;underline&quot;: True or False, # Whether or not the text is underlined.
+                                      &quot;weightedFontFamily&quot;: { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `&quot;*&quot;`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (&quot;normal&quot;). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
+                                        &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
+                                        &quot;weight&quot;: 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (&quot;normal&quot;).
+                                      },
+                                    },
+                                  },
+                                },
+                              },
+                            },
+                            &quot;textElements&quot;: [ # The text contents broken down into its component parts, including styling information. This property is read-only.
+                              { # A TextElement describes the content of a range of indices in the text content of a Shape or TableCell.
+                                &quot;autoText&quot;: { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically replaced with content that can change over time.
+                                  &quot;content&quot;: &quot;A String&quot;, # The rendered content of this auto text, if available.
+                                  &quot;style&quot;: { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The styling applied to this auto text.
+                                    &quot;backgroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                      &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                        &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                          &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                        &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                      },
+                                    },
+                                    &quot;baselineOffset&quot;: &quot;A String&quot;, # The text&#x27;s vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
+                                    &quot;bold&quot;: True or False, # Whether or not the text is rendered as bold.
+                                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
+                                    &quot;fontSize&quot;: { # A magnitude in a single direction in the specified units. # The size of the text&#x27;s font. When read, the `font_size` will specified in points.
+                                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                    },
+                                    &quot;foregroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                      &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                        &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                          &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                        &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                      },
+                                    },
+                                    &quot;italic&quot;: True or False, # Whether or not the text is italicized.
+                                    &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `&quot;ABC\n123&quot;`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request.
+                                      &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                                      &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                                      &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                                      &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                                    },
+                                    &quot;smallCaps&quot;: True or False, # Whether or not the text is in small capital letters.
+                                    &quot;strikethrough&quot;: True or False, # Whether or not the text is struck through.
+                                    &quot;underline&quot;: True or False, # Whether or not the text is underlined.
+                                    &quot;weightedFontFamily&quot;: { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `&quot;*&quot;`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (&quot;normal&quot;). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
+                                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
+                                      &quot;weight&quot;: 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (&quot;normal&quot;).
+                                    },
+                                  },
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of this auto text.
+                                },
+                                &quot;endIndex&quot;: 42, # The zero-based end index of this text element, exclusive, in Unicode code units.
+                                &quot;paragraphMarker&quot;: { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph. The `start_index` and `end_index` of this TextElement represent the range of the paragraph. Other TextElements with an index range contained inside this paragraph&#x27;s range are considered to be part of this paragraph. The range of indices of two separate paragraphs will never overlap.
+                                  &quot;bullet&quot;: { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not belong to a list.
+                                    &quot;bulletStyle&quot;: { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The paragraph specific text style applied to this bullet.
+                                      &quot;backgroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                        &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                          &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                            &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                            &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                            &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                          },
+                                          &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                        },
+                                      },
+                                      &quot;baselineOffset&quot;: &quot;A String&quot;, # The text&#x27;s vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
+                                      &quot;bold&quot;: True or False, # Whether or not the text is rendered as bold.
+                                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
+                                      &quot;fontSize&quot;: { # A magnitude in a single direction in the specified units. # The size of the text&#x27;s font. When read, the `font_size` will specified in points.
+                                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                      },
+                                      &quot;foregroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                        &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                          &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                            &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                            &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                            &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                          },
+                                          &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                        },
+                                      },
+                                      &quot;italic&quot;: True or False, # Whether or not the text is italicized.
+                                      &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `&quot;ABC\n123&quot;`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request.
+                                        &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                                        &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                                        &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                                        &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                                      },
+                                      &quot;smallCaps&quot;: True or False, # Whether or not the text is in small capital letters.
+                                      &quot;strikethrough&quot;: True or False, # Whether or not the text is struck through.
+                                      &quot;underline&quot;: True or False, # Whether or not the text is underlined.
+                                      &quot;weightedFontFamily&quot;: { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `&quot;*&quot;`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (&quot;normal&quot;). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
+                                        &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
+                                        &quot;weight&quot;: 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (&quot;normal&quot;).
+                                      },
+                                    },
+                                    &quot;glyph&quot;: &quot;A String&quot;, # The rendered bullet glyph for this paragraph.
+                                    &quot;listId&quot;: &quot;A String&quot;, # The ID of the list this paragraph belongs to.
+                                    &quot;nestingLevel&quot;: 42, # The nesting level of this paragraph in the list.
+                                  },
+                                  &quot;style&quot;: { # Styles that apply to a whole paragraph. If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists: * A paragraph not in a list will inherit its paragraph style from the paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited paragraph styles are represented as unset fields in this message. # The paragraph&#x27;s style
+                                    &quot;alignment&quot;: &quot;A String&quot;, # The text alignment for this paragraph.
+                                    &quot;direction&quot;: &quot;A String&quot;, # The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited.
+                                    &quot;indentEnd&quot;: { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent.
+                                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                    },
+                                    &quot;indentFirstLine&quot;: { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent.
+                                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                    },
+                                    &quot;indentStart&quot;: { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent.
+                                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                    },
+                                    &quot;lineSpacing&quot;: 3.14, # The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent.
+                                    &quot;spaceAbove&quot;: { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is inherited from the parent.
+                                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                    },
+                                    &quot;spaceBelow&quot;: { # A magnitude in a single direction in the specified units. # The amount of extra space below the paragraph. If unset, the value is inherited from the parent.
+                                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                    },
+                                    &quot;spacingMode&quot;: &quot;A String&quot;, # The spacing mode for the paragraph.
+                                  },
+                                },
+                                &quot;startIndex&quot;: 42, # The zero-based start index of this text element, in Unicode code units.
+                                &quot;textRun&quot;: { # A TextElement kind that represents a run of text that all has the same styling. # A TextElement representing a run of text where all of the characters in the run have the same TextStyle. The `start_index` and `end_index` of TextRuns will always be fully contained in the index range of a single `paragraph_marker` TextElement. In other words, a TextRun will never span multiple paragraphs.
+                                  &quot;content&quot;: &quot;A String&quot;, # The text of this run.
+                                  &quot;style&quot;: { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The styling applied to this run.
+                                    &quot;backgroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                      &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                        &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                          &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                        &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                      },
+                                    },
+                                    &quot;baselineOffset&quot;: &quot;A String&quot;, # The text&#x27;s vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
+                                    &quot;bold&quot;: True or False, # Whether or not the text is rendered as bold.
+                                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
+                                    &quot;fontSize&quot;: { # A magnitude in a single direction in the specified units. # The size of the text&#x27;s font. When read, the `font_size` will specified in points.
+                                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                                    },
+                                    &quot;foregroundColor&quot;: { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
+                                      &quot;opaqueColor&quot;: { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color.
+                                        &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                          &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                        &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                      },
+                                    },
+                                    &quot;italic&quot;: True or False, # Whether or not the text is italicized.
+                                    &quot;link&quot;: { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `&quot;ABC\n123&quot;`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request.
+                                      &quot;pageObjectId&quot;: &quot;A String&quot;, # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
+                                      &quot;relativeLink&quot;: &quot;A String&quot;, # If set, indicates this is a link to a slide in this presentation, addressed by its position.
+                                      &quot;slideIndex&quot;: 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
+                                      &quot;url&quot;: &quot;A String&quot;, # If set, indicates this is a link to the external web page at this URL.
+                                    },
+                                    &quot;smallCaps&quot;: True or False, # Whether or not the text is in small capital letters.
+                                    &quot;strikethrough&quot;: True or False, # Whether or not the text is struck through.
+                                    &quot;underline&quot;: True or False, # Whether or not the text is underlined.
+                                    &quot;weightedFontFamily&quot;: { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `&quot;*&quot;`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` (&quot;normal&quot;). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
+                                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
+                                      &quot;weight&quot;: 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` (&quot;normal&quot;).
+                                    },
+                                  },
+                                },
+                              },
+                            ],
+                          },
+                        },
+                      ],
+                      &quot;tableRowProperties&quot;: { # Properties of each row in a table. # Properties of the row.
+                        &quot;minRowHeight&quot;: { # A magnitude in a single direction in the specified units. # Minimum height of the row. The row will be rendered in the Slides editor at a height equal to or greater than this value in order to show all the text in the row&#x27;s cell(s).
+                          &quot;magnitude&quot;: 3.14, # The magnitude.
+                          &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                        },
+                      },
+                    },
+                  ],
+                  &quot;verticalBorderRows&quot;: [ # Properties of vertical cell borders. A table&#x27;s vertical cell borders are represented as a grid. The grid has the same number of rows as the table and one more column than the number of columns in the table. For example, if the table is 3 x 3, its vertical borders will be represented as a grid with 3 rows and 4 columns.
+                    { # Contents of each border row in a table.
+                      &quot;tableBorderCells&quot;: [ # Properties of each border cell. When a border&#x27;s adjacent table cells are merged, it is not included in the response.
+                        { # The properties of each border cell.
+                          &quot;location&quot;: { # A location of a single table cell within a table. # The location of the border within the border table.
+                            &quot;columnIndex&quot;: 42, # The 0-based column index.
+                            &quot;rowIndex&quot;: 42, # The 0-based row index.
+                          },
+                          &quot;tableBorderProperties&quot;: { # The border styling properties of the TableBorderCell. # The border properties.
+                            &quot;dashStyle&quot;: &quot;A String&quot;, # The dash style of the border.
+                            &quot;tableBorderFill&quot;: { # The fill of the border. # The fill of the table border.
+                              &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid fill.
+                                &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                                &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                                  &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                                    &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                    &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                                    &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                                  },
+                                  &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                                },
+                              },
+                            },
+                            &quot;weight&quot;: { # A magnitude in a single direction in the specified units. # The thickness of the border.
+                              &quot;magnitude&quot;: 3.14, # The magnitude.
+                              &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                            },
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                },
+                &quot;title&quot;: &quot;A String&quot;, # The title of the page element. Combined with description to display alt text. The field is not supported for Group elements.
+                &quot;transform&quot;: { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x&#x27;, y&#x27;) according to: x&#x27; x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x&#x27; = scale_x * x + shear_x * y + translate_x; y&#x27; = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # The transform of the page element. The visual appearance of the page element is determined by its absolute transform. To compute the absolute transform, preconcatenate a page element&#x27;s transform with the transforms of all of its parent groups. If the page element is not in a group, its absolute transform is the same as the value in this field. The initial transform for the newly created Group is always the identity transform.
+                  &quot;scaleX&quot;: 3.14, # The X coordinate scaling element.
+                  &quot;scaleY&quot;: 3.14, # The Y coordinate scaling element.
+                  &quot;shearX&quot;: 3.14, # The X coordinate shearing element.
+                  &quot;shearY&quot;: 3.14, # The Y coordinate shearing element.
+                  &quot;translateX&quot;: 3.14, # The X coordinate translation element.
+                  &quot;translateY&quot;: 3.14, # The Y coordinate translation element.
+                  &quot;unit&quot;: &quot;A String&quot;, # The units for translate elements.
+                },
+                &quot;video&quot;: { # A PageElement kind representing a video. # A video page element.
+                  &quot;id&quot;: &quot;A String&quot;, # The video source&#x27;s unique identifier for this video.
+                  &quot;source&quot;: &quot;A String&quot;, # The video source.
+                  &quot;url&quot;: &quot;A String&quot;, # An URL to a video. The URL is valid as long as the source video exists and sharing settings do not change.
+                  &quot;videoProperties&quot;: { # The properties of the Video. # The properties of the video.
+                    &quot;autoPlay&quot;: True or False, # Whether to enable video autoplay when the page is displayed in present mode. Defaults to false.
+                    &quot;end&quot;: 42, # The time at which to end playback, measured in seconds from the beginning of the video. If set, the end time should be after the start time. If not set or if you set this to a value that exceeds the video&#x27;s length, the video will be played until its end.
+                    &quot;mute&quot;: True or False, # Whether to mute the audio during video playback. Defaults to false.
+                    &quot;outline&quot;: { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the video. The default outline matches the defaults for new videos created in the Slides editor.
+                      &quot;dashStyle&quot;: &quot;A String&quot;, # The dash style of the outline.
+                      &quot;outlineFill&quot;: { # The fill of the outline. # The fill of the outline.
+                        &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill.
+                          &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                          &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                            &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                              &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                              &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                            &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                          },
+                        },
+                      },
+                      &quot;propertyState&quot;: &quot;A String&quot;, # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored.
+                      &quot;weight&quot;: { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                        &quot;magnitude&quot;: 3.14, # The magnitude.
+                        &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                      },
+                    },
+                    &quot;start&quot;: 42, # The time at which to start playback, measured in seconds from the beginning of the video. If set, the start time should be before the end time. If you set this to a value that exceeds the video&#x27;s length in seconds, the video will be played from the last second. If not set, the video will be played from the beginning.
+                  },
+                },
+                &quot;wordArt&quot;: { # A PageElement kind representing word art. # A word art page element.
+                  &quot;renderedText&quot;: &quot;A String&quot;, # The text rendered as word art.
+                },
+              },
+            ],
+            &quot;pageProperties&quot;: { # The properties of the Page. The page will inherit properties from the parent page. Depending on the page type the hierarchy is defined in either SlideProperties or LayoutProperties. # The properties of the page.
+              &quot;colorScheme&quot;: { # The palette of predefined colors for a page. # The color scheme of the page. If unset, the color scheme is inherited from a parent page. If the page has no parent, the color scheme uses a default Slides color scheme, matching the defaults in the Slides editor. Only the concrete colors of the first 12 ThemeColorTypes are editable. In addition, only the color scheme on `Master` pages can be updated. To update the field, a color scheme containing mappings from all the first 12 ThemeColorTypes to their concrete colors must be provided. Colors for the remaining ThemeColorTypes will be ignored.
+                &quot;colors&quot;: [ # The ThemeColorType and corresponding concrete color pairs.
+                  { # A pair mapping a theme color type to the concrete color it represents.
+                    &quot;color&quot;: { # An RGB color. # The concrete color corresponding to the theme color type above.
+                      &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                      &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                      &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                    },
+                    &quot;type&quot;: &quot;A String&quot;, # The type of the theme color.
+                  },
+                ],
+              },
+              &quot;pageBackgroundFill&quot;: { # The page background fill. # The background fill of the page. If unset, the background fill is inherited from a parent page if it exists. If the page has no parent, then the background fill defaults to the corresponding fill in the Slides editor.
+                &quot;propertyState&quot;: &quot;A String&quot;, # The background fill property state. Updating the fill on a page will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a page, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.
+                &quot;solidFill&quot;: { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill.
+                  &quot;alpha&quot;: 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
+                  &quot;color&quot;: { # A themeable solid color value. # The color value of the solid fill.
+                    &quot;rgbColor&quot;: { # An RGB color. # An opaque RGB color.
+                      &quot;blue&quot;: 3.14, # The blue component of the color, from 0.0 to 1.0.
+                      &quot;green&quot;: 3.14, # The green component of the color, from 0.0 to 1.0.
+                      &quot;red&quot;: 3.14, # The red component of the color, from 0.0 to 1.0.
+                    },
+                    &quot;themeColor&quot;: &quot;A String&quot;, # An opaque theme color.
+                  },
+                },
+                &quot;stretchedPictureFill&quot;: { # The stretched picture fill. The page or page element is filled entirely with the specified picture. The picture is stretched to fit its container. # Stretched picture fill.
+                  &quot;contentUrl&quot;: &quot;A String&quot;, # Reading the content_url: An URL to a picture with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the picture as the original requester. Access to the picture may be lost if the presentation&#x27;s sharing settings change. Writing the content_url: The picture is fetched once at insertion time and a copy is stored for display inside the presentation. Pictures must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in length.
+                  &quot;size&quot;: { # A width and height. # The original size of the picture fill. This field is read-only.
+                    &quot;height&quot;: { # A magnitude in a single direction in the specified units. # The height of the object.
+                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                    },
+                    &quot;width&quot;: { # A magnitude in a single direction in the specified units. # The width of the object.
+                      &quot;magnitude&quot;: 3.14, # The magnitude.
+                      &quot;unit&quot;: &quot;A String&quot;, # The units for magnitude.
+                    },
+                  },
+                },
+              },
+            },
+            &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
+            &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
+            &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
+          },
         },
       },
       &quot;updateSlidesPosition&quot;: { # Updates the position of slides in the presentation. # Updates the position of a set of slides in the presentation.
@@ -2045,12 +3052,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;locale&quot;: &quot;A String&quot;, # The locale of the presentation, as an IETF BCP 47 language tag.
@@ -3061,12 +4063,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;notesMaster&quot;: { # A page in a presentation. # The notes master in the presentation. It serves three purposes: - Placeholder shapes on a notes master contain the default text styles and shape properties of all placeholder shapes on notes pages. Specifically, a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties inherited by all notes pages. - Any other shapes on the notes master appear on all notes pages. The notes master is read-only.
@@ -4075,12 +5072,7 @@
     },
     &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
     &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-    &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-      &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-      &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-      &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-      &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-    },
+    &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
   },
   &quot;pageSize&quot;: { # A width and height. # The size of pages in the presentation.
     &quot;height&quot;: { # A magnitude in a single direction in the specified units. # The height of the object.
@@ -5101,12 +6093,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;title&quot;: &quot;A String&quot;, # The title of the presentation.
@@ -6128,12 +7115,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;locale&quot;: &quot;A String&quot;, # The locale of the presentation, as an IETF BCP 47 language tag.
@@ -7144,12 +8126,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;notesMaster&quot;: { # A page in a presentation. # The notes master in the presentation. It serves three purposes: - Placeholder shapes on a notes master contain the default text styles and shape properties of all placeholder shapes on notes pages. Specifically, a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties inherited by all notes pages. - Any other shapes on the notes master appear on all notes pages. The notes master is read-only.
@@ -8158,12 +9135,7 @@
     },
     &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
     &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-    &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-      &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-      &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-      &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-      &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-    },
+    &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
   },
   &quot;pageSize&quot;: { # A width and height. # The size of pages in the presentation.
     &quot;height&quot;: { # A magnitude in a single direction in the specified units. # The height of the object.
@@ -9184,12 +10156,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;title&quot;: &quot;A String&quot;, # The title of the presentation.
@@ -10218,12 +11185,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;locale&quot;: &quot;A String&quot;, # The locale of the presentation, as an IETF BCP 47 language tag.
@@ -11234,12 +12196,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;notesMaster&quot;: { # A page in a presentation. # The notes master in the presentation. It serves three purposes: - Placeholder shapes on a notes master contain the default text styles and shape properties of all placeholder shapes on notes pages. Specifically, a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties inherited by all notes pages. - Any other shapes on the notes master appear on all notes pages. The notes master is read-only.
@@ -12248,12 +13205,7 @@
     },
     &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
     &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-    &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-      &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-      &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-      &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-      &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-    },
+    &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
   },
   &quot;pageSize&quot;: { # A width and height. # The size of pages in the presentation.
     &quot;height&quot;: { # A magnitude in a single direction in the specified units. # The height of the object.
@@ -13274,12 +14226,7 @@
       },
       &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
       &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-      &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-        &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-        &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-        &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-        &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-      },
+      &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
     },
   ],
   &quot;title&quot;: &quot;A String&quot;, # The title of the presentation.
diff --git a/docs/dyn/slides_v1.presentations.pages.html b/docs/dyn/slides_v1.presentations.pages.html
index aab9b5e..68f1bda 100644
--- a/docs/dyn/slides_v1.presentations.pages.html
+++ b/docs/dyn/slides_v1.presentations.pages.html
@@ -1110,12 +1110,7 @@
   },
   &quot;pageType&quot;: &quot;A String&quot;, # The type of the page.
   &quot;revisionId&quot;: &quot;A String&quot;, # The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn&#x27;t changed since the last read operation. Only populated if the user has edit access to the presentation. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
-  &quot;slideProperties&quot;: { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE.
-    &quot;isSkipped&quot;: True or False, # Whether the slide is skipped in the presentation mode. Defaults to false.
-    &quot;layoutObjectId&quot;: &quot;A String&quot;, # The object ID of the layout that this slide is based on. This property is read-only.
-    &quot;masterObjectId&quot;: &quot;A String&quot;, # The object ID of the master that this slide is based on. This property is read-only.
-    &quot;notesPage&quot;: # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
-  },
+  &quot;slideProperties&quot;: # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE.
 }</pre>
 </div>
 
diff --git a/docs/dyn/sourcerepo_v1.projects.repos.html b/docs/dyn/sourcerepo_v1.projects.repos.html
index 6a4b157..a3418ee 100644
--- a/docs/dyn/sourcerepo_v1.projects.repos.html
+++ b/docs/dyn/sourcerepo_v1.projects.repos.html
@@ -224,7 +224,7 @@
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
-  options_requestedPolicyVersion: integer, Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  options_requestedPolicyVersion: integer, Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/spanner_v1.projects.instances.databases.html b/docs/dyn/spanner_v1.projects.instances.databases.html
index e24b343..94195d2 100644
--- a/docs/dyn/spanner_v1.projects.instances.databases.html
+++ b/docs/dyn/spanner_v1.projects.instances.databases.html
@@ -92,7 +92,7 @@
 <p class="firstline">Creates a new Cloud Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format `/operations/` and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful.</p>
 <p class="toc_element">
   <code><a href="#dropDatabase">dropDatabase(database, x__xgafv=None)</a></code></p>
-<p class="firstline">Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`.</p>
+<p class="firstline">Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`. Note: Cloud Spanner might continue to accept requests for a few seconds after the database has been deleted.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the state of a Cloud Spanner database.</p>
@@ -179,7 +179,7 @@
 
 <div class="method">
     <code class="details" id="dropDatabase">dropDatabase(database, x__xgafv=None)</code>
-  <pre>Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`.
+  <pre>Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`. Note: Cloud Spanner might continue to accept requests for a few seconds after the database has been deleted.
 
 Args:
   database: string, Required. The database to be dropped. (required)
diff --git a/docs/dyn/spanner_v1.projects.instances.databases.sessions.html b/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
index 0dce471..f599042 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/speech_v1.projects.locations.customClasses.html b/docs/dyn/speech_v1.projects.locations.customClasses.html
index 8d84265..9223096 100644
--- a/docs/dyn/speech_v1.projects.locations.customClasses.html
+++ b/docs/dyn/speech_v1.projects.locations.customClasses.html
@@ -106,7 +106,7 @@
   <pre>Create a custom class.
 
 Args:
-  parent: string, Required. The parent resource where this custom class will be created. Format: {api_version}/projects/{project}/locations/{location}/customClasses (required)
+  parent: string, Required. The parent resource where this custom class will be created. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -147,7 +147,7 @@
   <pre>Delete a custom class.
 
 Args:
-  name: string, Required. The name of the custom class to delete. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class} (required)
+  name: string, Required. The name of the custom class to delete. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -165,7 +165,7 @@
   <pre>Get a custom class.
 
 Args:
-  name: string, Required. The name of the custom class to retrieve. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class} (required)
+  name: string, Required. The name of the custom class to retrieve. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -190,7 +190,7 @@
   <pre>List custom classes.
 
 Args:
-  parent: string, Required. The parent, which owns this collection of custom classes. Format: {api_version}/projects/{project}/locations/{location}/customClasses (required)
+  parent: string, Required. The parent, which owns this collection of custom classes. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   pageSize: integer, The maximum number of custom classes to return. The service may return fewer than this value. If unspecified, at most 50 custom classes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
   pageToken: string, A page token, received from a previous `ListCustomClass` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomClass` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/speech_v1.projects.locations.phraseSets.html b/docs/dyn/speech_v1.projects.locations.phraseSets.html
index df16ee7..3c3c03f 100644
--- a/docs/dyn/speech_v1.projects.locations.phraseSets.html
+++ b/docs/dyn/speech_v1.projects.locations.phraseSets.html
@@ -106,7 +106,7 @@
   <pre>Create a set of phrase hints. Each item in the set can be a single word or a multi-word phrase. The items in the PhraseSet are favored by the recognition model when you send a call that includes the PhraseSet.
 
 Args:
-  parent: string, Required. The parent resource where this phrase set will be created. Format: {api_version}/projects/{project}/locations/{location}/phraseSets (required)
+  parent: string, Required. The parent resource where this phrase set will be created. Format: `projects/{project}/locations/{location}/phraseSets` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -115,7 +115,7 @@
     &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
     &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
     &quot;phrases&quot;: [ # A list of word and phrases.
-      { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+      { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
         &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
         &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
       },
@@ -136,7 +136,7 @@
   &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
   &quot;phrases&quot;: [ # A list of word and phrases.
-    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
       &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
     },
@@ -149,7 +149,7 @@
   <pre>Delete a phrase set.
 
 Args:
-  name: string, Required. The name of the phrase set to delete. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set} (required)
+  name: string, Required. The name of the phrase set to delete. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -167,7 +167,7 @@
   <pre>Get a phrase set.
 
 Args:
-  name: string, Required. The name of the phrase set to retrieve. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set} (required)
+  name: string, Required. The name of the phrase set to retrieve. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -180,7 +180,7 @@
   &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
   &quot;phrases&quot;: [ # A list of word and phrases.
-    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
       &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
     },
@@ -193,7 +193,7 @@
   <pre>List phrase sets.
 
 Args:
-  parent: string, Required. The parent, which owns this collection of phrase set. Format: projects/{project}/locations/{location} (required)
+  parent: string, Required. The parent, which owns this collection of phrase set. Format: `projects/{project}/locations/{location}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   pageSize: integer, The maximum number of phrase sets to return. The service may return fewer than this value. If unspecified, at most 50 phrase sets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
   pageToken: string, A page token, received from a previous `ListPhraseSet` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPhraseSet` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
@@ -211,7 +211,7 @@
       &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
       &quot;phrases&quot;: [ # A list of word and phrases.
-        { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+        { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
           &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
           &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
         },
@@ -248,7 +248,7 @@
   &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
   &quot;phrases&quot;: [ # A list of word and phrases.
-    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
       &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
     },
@@ -268,7 +268,7 @@
   &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
   &quot;phrases&quot;: [ # A list of word and phrases.
-    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
       &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
     },
diff --git a/docs/dyn/speech_v1.speech.html b/docs/dyn/speech_v1.speech.html
index 700556f..c9a558b 100644
--- a/docs/dyn/speech_v1.speech.html
+++ b/docs/dyn/speech_v1.speech.html
@@ -123,7 +123,7 @@
           &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
           &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
           &quot;phrases&quot;: [ # A list of word and phrases.
-            { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+            { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
               &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
               &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
             },
@@ -241,7 +241,7 @@
           &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
           &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
           &quot;phrases&quot;: [ # A list of word and phrases.
-            { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+            { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
               &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
               &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
             },
diff --git a/docs/dyn/speech_v1p1beta1.projects.locations.customClasses.html b/docs/dyn/speech_v1p1beta1.projects.locations.customClasses.html
index 3c2acb5..b141912 100644
--- a/docs/dyn/speech_v1p1beta1.projects.locations.customClasses.html
+++ b/docs/dyn/speech_v1p1beta1.projects.locations.customClasses.html
@@ -106,7 +106,7 @@
   <pre>Create a custom class.
 
 Args:
-  parent: string, Required. The parent resource where this custom class will be created. Format: {api_version}/projects/{project}/locations/{location}/customClasses (required)
+  parent: string, Required. The parent resource where this custom class will be created. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -147,7 +147,7 @@
   <pre>Delete a custom class.
 
 Args:
-  name: string, Required. The name of the custom class to delete. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class} (required)
+  name: string, Required. The name of the custom class to delete. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -165,7 +165,7 @@
   <pre>Get a custom class.
 
 Args:
-  name: string, Required. The name of the custom class to retrieve. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class} (required)
+  name: string, Required. The name of the custom class to retrieve. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -190,7 +190,7 @@
   <pre>List custom classes.
 
 Args:
-  parent: string, Required. The parent, which owns this collection of custom classes. Format: {api_version}/projects/{project}/locations/{location}/customClasses (required)
+  parent: string, Required. The parent, which owns this collection of custom classes. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   pageSize: integer, The maximum number of custom classes to return. The service may return fewer than this value. If unspecified, at most 50 custom classes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
   pageToken: string, A page token, received from a previous `ListCustomClass` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomClass` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/speech_v1p1beta1.projects.locations.phraseSets.html b/docs/dyn/speech_v1p1beta1.projects.locations.phraseSets.html
index cafc515..a349eab 100644
--- a/docs/dyn/speech_v1p1beta1.projects.locations.phraseSets.html
+++ b/docs/dyn/speech_v1p1beta1.projects.locations.phraseSets.html
@@ -106,7 +106,7 @@
   <pre>Create a set of phrase hints. Each item in the set can be a single word or a multi-word phrase. The items in the PhraseSet are favored by the recognition model when you send a call that includes the PhraseSet.
 
 Args:
-  parent: string, Required. The parent resource where this phrase set will be created. Format: {api_version}/projects/{project}/locations/{location}/phraseSets (required)
+  parent: string, Required. The parent resource where this phrase set will be created. Format: `projects/{project}/locations/{location}/phraseSets` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -115,7 +115,7 @@
     &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
     &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
     &quot;phrases&quot;: [ # A list of word and phrases.
-      { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+      { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
         &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
         &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
       },
@@ -136,7 +136,7 @@
   &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
   &quot;phrases&quot;: [ # A list of word and phrases.
-    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
       &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
     },
@@ -149,7 +149,7 @@
   <pre>Delete a phrase set.
 
 Args:
-  name: string, Required. The name of the phrase set to delete. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set} (required)
+  name: string, Required. The name of the phrase set to delete. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -167,7 +167,7 @@
   <pre>Get a phrase set.
 
 Args:
-  name: string, Required. The name of the phrase set to retrieve. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set} (required)
+  name: string, Required. The name of the phrase set to retrieve. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -180,7 +180,7 @@
   &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
   &quot;phrases&quot;: [ # A list of word and phrases.
-    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
       &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
     },
@@ -193,7 +193,7 @@
   <pre>List phrase sets.
 
 Args:
-  parent: string, Required. The parent, which owns this collection of phrase set. Format: projects/{project}/locations/{location} (required)
+  parent: string, Required. The parent, which owns this collection of phrase set. Format: `projects/{project}/locations/{location}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value. (required)
   pageSize: integer, The maximum number of phrase sets to return. The service may return fewer than this value. If unspecified, at most 50 phrase sets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
   pageToken: string, A page token, received from a previous `ListPhraseSet` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPhraseSet` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
@@ -211,7 +211,7 @@
       &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
       &quot;phrases&quot;: [ # A list of word and phrases.
-        { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+        { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
           &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
           &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
         },
@@ -248,7 +248,7 @@
   &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
   &quot;phrases&quot;: [ # A list of word and phrases.
-    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
       &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
     },
@@ -268,7 +268,7 @@
   &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
   &quot;phrases&quot;: [ # A list of word and phrases.
-    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+    { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
       &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
       &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
     },
diff --git a/docs/dyn/speech_v1p1beta1.speech.html b/docs/dyn/speech_v1p1beta1.speech.html
index bb77766..ed305c8 100644
--- a/docs/dyn/speech_v1p1beta1.speech.html
+++ b/docs/dyn/speech_v1p1beta1.speech.html
@@ -123,7 +123,7 @@
           &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
           &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
           &quot;phrases&quot;: [ # A list of word and phrases.
-            { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+            { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
               &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
               &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
             },
@@ -253,7 +253,7 @@
           &quot;boost&quot;: 3.14, # Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
           &quot;name&quot;: &quot;A String&quot;, # The resource name of the phrase set.
           &quot;phrases&quot;: [ # A list of word and phrases.
-            { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`).
+            { # A phrases containing words and phrase &quot;hints&quot; so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. &quot;i was born in january&quot;, &quot;i was born in febuary&quot;, ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. &quot;i was born in $month&quot;). To refer to pre-built classes, use the class&#x27; symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class&#x27;s `custom_class_id` to a string unique to all class resources and inline classes. Then use the class&#x27; id wrapped in $`{...}` e.g. &quot;${my-months}&quot;. To refer to custom classes resources, use the class&#x27; id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.
               &quot;boost&quot;: 3.14, # Hint Boost. Overrides the boost set at the phrase set level. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 and 20. We recommend using a binary search approach to finding the optimal value for your use case. Speech recognition will skip PhraseSets with a boost value of 0.
               &quot;value&quot;: &quot;A String&quot;, # The phrase itself.
             },
diff --git a/docs/dyn/sqladmin_v1.instances.html b/docs/dyn/sqladmin_v1.instances.html
index 0c0d47b..0f66156 100644
--- a/docs/dyn/sqladmin_v1.instances.html
+++ b/docs/dyn/sqladmin_v1.instances.html
@@ -814,7 +814,7 @@
   &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
   &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
   &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
   &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -829,7 +829,7 @@
     &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
     &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
   },
-  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
   &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
   &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
     { # Database instance IP Mapping.
@@ -940,7 +940,7 @@
         &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
       },
     ],
-    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
     &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
       { # Deny maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
         &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the no maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -957,7 +957,7 @@
     },
     &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
       &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
         { # An entry for an Access Control list.
           &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -971,10 +971,10 @@
     },
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
     &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
       &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
       &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
     },
     &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
       &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -998,7 +998,7 @@
     },
     &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
     &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
     &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -1148,7 +1148,7 @@
   &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
   &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
   &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
   &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -1163,7 +1163,7 @@
     &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
     &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
   },
-  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
   &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
   &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
     { # Database instance IP Mapping.
@@ -1274,7 +1274,7 @@
         &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
       },
     ],
-    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
     &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
       { # Deny maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
         &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the no maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -1291,7 +1291,7 @@
     },
     &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
       &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
         { # An entry for an Access Control list.
           &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -1305,10 +1305,10 @@
     },
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
     &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
       &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
       &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
     },
     &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
       &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -1332,7 +1332,7 @@
     },
     &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
     &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
     &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -1454,7 +1454,7 @@
       &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
       &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-      &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+      &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
       &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
       &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
         &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -1469,7 +1469,7 @@
         &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
         &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
       },
-      &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+      &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
       &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
       &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
         { # Database instance IP Mapping.
@@ -1580,7 +1580,7 @@
             &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
           },
         ],
-        &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+        &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
         &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
           { # Deny maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
             &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the no maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -1597,7 +1597,7 @@
         },
         &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
           &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-          &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+          &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
             { # An entry for an Access Control list.
               &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
               &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -1611,10 +1611,10 @@
         },
         &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
         &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-          &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+          &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
           &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-          &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+          &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
         },
         &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
           &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -1638,7 +1638,7 @@
         },
         &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
         &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-        &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+        &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
         &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
@@ -1724,7 +1724,7 @@
   &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
   &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
   &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
   &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -1739,7 +1739,7 @@
     &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
     &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
   },
-  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
   &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
   &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
     { # Database instance IP Mapping.
@@ -1850,7 +1850,7 @@
         &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
       },
     ],
-    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
     &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
       { # Deny maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
         &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the no maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -1867,7 +1867,7 @@
     },
     &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
       &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
         { # An entry for an Access Control list.
           &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -1881,10 +1881,10 @@
     },
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
     &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
       &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
       &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
     },
     &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
       &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -1908,7 +1908,7 @@
     },
     &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
     &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
     &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -2805,7 +2805,7 @@
   &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
   &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
   &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
   &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -2820,7 +2820,7 @@
     &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
     &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
   },
-  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
   &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
   &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
     { # Database instance IP Mapping.
@@ -2931,7 +2931,7 @@
         &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
       },
     ],
-    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
     &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
       { # Deny maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
         &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the no maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -2948,7 +2948,7 @@
     },
     &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
       &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
         { # An entry for an Access Control list.
           &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -2962,10 +2962,10 @@
     },
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
     &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
       &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
       &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
     },
     &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
       &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -2989,7 +2989,7 @@
     },
     &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
     &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
     &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
diff --git a/docs/dyn/sqladmin_v1beta4.instances.html b/docs/dyn/sqladmin_v1beta4.instances.html
index db4dec7..2b53f46 100644
--- a/docs/dyn/sqladmin_v1beta4.instances.html
+++ b/docs/dyn/sqladmin_v1beta4.instances.html
@@ -814,7 +814,7 @@
   &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
   &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
   &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
   &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -829,7 +829,7 @@
     &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
     &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
   },
-  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
   &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
   &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
     { # Database instance IP Mapping.
@@ -940,7 +940,7 @@
         &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
       },
     ],
-    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
     &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
       { # Deny Maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
         &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the deny maintenance period recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -957,7 +957,7 @@
     },
     &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
       &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
         { # An entry for an Access Control list.
           &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -971,10 +971,10 @@
     },
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
     &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
       &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
       &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
     },
     &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
       &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -998,7 +998,7 @@
     },
     &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
     &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
     &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -1148,7 +1148,7 @@
   &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
   &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
   &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
   &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -1163,7 +1163,7 @@
     &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
     &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
   },
-  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
   &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
   &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
     { # Database instance IP Mapping.
@@ -1274,7 +1274,7 @@
         &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
       },
     ],
-    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
     &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
       { # Deny Maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
         &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the deny maintenance period recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -1291,7 +1291,7 @@
     },
     &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
       &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
         { # An entry for an Access Control list.
           &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -1305,10 +1305,10 @@
     },
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
     &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
       &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
       &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
     },
     &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
       &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -1332,7 +1332,7 @@
     },
     &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
     &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
     &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -1454,7 +1454,7 @@
       &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
       &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-      &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+      &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
       &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
       &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
         &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -1469,7 +1469,7 @@
         &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
         &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
       },
-      &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+      &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
       &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
       &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
         { # Database instance IP Mapping.
@@ -1580,7 +1580,7 @@
             &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
           },
         ],
-        &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+        &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
         &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
           { # Deny Maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
             &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the deny maintenance period recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -1597,7 +1597,7 @@
         },
         &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
           &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-          &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+          &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
             { # An entry for an Access Control list.
               &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
               &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -1611,10 +1611,10 @@
         },
         &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
         &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-          &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+          &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
           &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-          &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+          &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
         },
         &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
           &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -1638,7 +1638,7 @@
         },
         &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
         &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-        &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+        &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
         &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
@@ -1724,7 +1724,7 @@
   &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
   &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
   &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
   &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -1739,7 +1739,7 @@
     &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
     &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
   },
-  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
   &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
   &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
     { # Database instance IP Mapping.
@@ -1850,7 +1850,7 @@
         &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
       },
     ],
-    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
     &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
       { # Deny Maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
         &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the deny maintenance period recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -1867,7 +1867,7 @@
     },
     &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
       &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
         { # An entry for an Access Control list.
           &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -1881,10 +1881,10 @@
     },
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
     &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
       &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
       &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
     },
     &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
       &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -1908,7 +1908,7 @@
     },
     &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
     &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
     &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -2805,7 +2805,7 @@
   &quot;connectionName&quot;: &quot;A String&quot;, # Connection name of the Cloud SQL instance used in connection strings.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
   &quot;currentDiskSize&quot;: &quot;A String&quot;, # The current disk usage of the instance in bytes. This property has been deprecated. Use the &quot;cloudsql.googleapis.com/database/disk/bytes_used&quot; metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
-  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50
+  &quot;databaseInstalledVersion&quot;: &quot;A String&quot;, # Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.
   &quot;databaseVersion&quot;: &quot;A String&quot;, # The database engine type and version. The **databaseVersion** field cannot be changed after instance creation.
   &quot;diskEncryptionConfiguration&quot;: { # Disk encryption configuration for an instance. # Disk encryption configuration specific to an instance.
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#diskEncryptionConfiguration**.
@@ -2820,7 +2820,7 @@
     &quot;available&quot;: True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
     &quot;name&quot;: &quot;A String&quot;, # The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn&#x27;t include the project ID.
   },
-  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.
+  &quot;gceZone&quot;: &quot;A String&quot;, # The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.
   &quot;instanceType&quot;: &quot;A String&quot;, # The instance type.
   &quot;ipAddresses&quot;: [ # The assigned IP addresses for the instance.
     { # Database instance IP Mapping.
@@ -2931,7 +2931,7 @@
         &quot;value&quot;: &quot;A String&quot;, # The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn&#x27;t take a value.
       },
     ],
-    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+    &quot;databaseReplicationEnabled&quot;: True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
     &quot;denyMaintenancePeriods&quot;: [ # Deny maintenance periods
       { # Deny Maintenance Periods. This specifies a date range during when all CSA rollout will be denied.
         &quot;endDate&quot;: &quot;A String&quot;, # &quot;deny maintenance period&quot; end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the deny maintenance period recurs every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
@@ -2948,7 +2948,7 @@
     },
     &quot;ipConfiguration&quot;: { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances.
       &quot;allocatedIpRange&quot;: &quot;A String&quot;, # The name of the allocated ip range for the private ip CloudSQL instance. For example: &quot;google-managed-services-default&quot;. If set, the instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
-      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **192.168.100.0/24**).
+      &quot;authorizedNetworks&quot;: [ # The list of external networks that are allowed to connect to the instance using the IP. In &#x27;CIDR&#x27; notation, also known as &#x27;slash&#x27; notation (for example: **157.197.200.0/24**).
         { # An entry for an Access Control list.
           &quot;expirationTime&quot;: &quot;A String&quot;, # The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
           &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#aclEntry**.
@@ -2962,10 +2962,10 @@
     },
     &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#settings**.
     &quot;locationPreference&quot;: { # Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine co-location was only applicable to First Generation instances.
-      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance.
+      &quot;followGaeApplication&quot;: &quot;A String&quot;, # The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
       &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#locationPreference**.
       &quot;secondaryZone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). Reserved for future use.
-      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).
+      &quot;zone&quot;: &quot;A String&quot;, # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
     },
     &quot;maintenanceWindow&quot;: { # Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes. # The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.
       &quot;day&quot;: 42, # day of week (1-7), starting on Monday.
@@ -2989,7 +2989,7 @@
     },
     &quot;storageAutoResize&quot;: True or False, # Configuration to increase storage size automatically. The default value is true.
     &quot;storageAutoResizeLimit&quot;: &quot;A String&quot;, # The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
-    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
+    &quot;tier&quot;: &quot;A String&quot;, # The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.
     &quot;userLabels&quot;: { # User-provided labels, represented as a dictionary where each label is a single key value pair.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
diff --git a/docs/dyn/storagetransfer_v1.transferJobs.html b/docs/dyn/storagetransfer_v1.transferJobs.html
index f8207d5..40a6aac 100644
--- a/docs/dyn/storagetransfer_v1.transferJobs.html
+++ b/docs/dyn/storagetransfer_v1.transferJobs.html
@@ -115,12 +115,12 @@
   &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
   &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
   &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
-  &quot;loggingConfig&quot;: { # Logging configuration. # Logging configuration.
-    &quot;enableOnpremGcsTransferLogs&quot;: True or False, # Enables the Cloud Storage transfer logs for this transfer. This is only supported for transfer jobs with PosixFilesystem sources. The default is that logs are not generated for this transfer.
-    &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+  &quot;loggingConfig&quot;: { # Specifies the logging behavior for transfer operations. For cloud-to-cloud transfers, logs are sent to Cloud Logging. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details. For transfers to or from a POSIX file system, logs are stored in the Cloud Storage bucket that is the source or sink of the transfer. See [Managing Transfer for on-premises jobs] (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) for details. # Logging configuration.
+    &quot;enableOnpremGcsTransferLogs&quot;: True or False, # For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer.
+    &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
       &quot;A String&quot;,
     ],
-    &quot;logActions&quot;: [ # Actions to be logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+    &quot;logActions&quot;: [ # Specifies the actions to be logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
       &quot;A String&quot;,
     ],
   },
@@ -171,7 +171,7 @@
     },
     &quot;azureBlobStorageDataSource&quot;: { # An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs&#x27;s name is the [Azure Blob Storage blob&#x27;s key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names). # An Azure Blob Storage data source.
       &quot;azureCredentials&quot;: { # Azure credentials For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. Credentials used to authenticate API requests to Azure. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
-        &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). *Note:*Copying data from Azure Data Lake Storage (ADLS) Gen 2 is in [Preview](/products/#product-launch-stages). During Preview, if you are copying data from ADLS Gen 2, you must use an account SAS. For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
+        &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
       },
       &quot;container&quot;: &quot;A String&quot;, # Required. The container to transfer from the Azure Storage account.
       &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;.
@@ -185,6 +185,10 @@
       &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
       &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
     },
+    &quot;gcsIntermediateDataLocation&quot;: { # In a GcsData resource, an object&#x27;s name is the Cloud Storage object&#x27;s name and its &quot;last modification time&quot; refers to the object&#x27;s `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated. # Cloud Storage intermediate data location.
+      &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
+      &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
+    },
     &quot;httpDataSource&quot;: { # An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `&quot;TsvHttpData-1.0&quot;`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** — The location of the object. * **Length** — The size of the object in bytes. * **MD5** — The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object is not transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer fails. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer. # An HTTP URL data source.
       &quot;listUrl&quot;: &quot;A String&quot;, # Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
     },
@@ -214,6 +218,12 @@
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
       &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
+        &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s GID attribute should be handled by the transfer. If unspecified, the default behavior is the same as GID_SKIP when the source is a POSIX file system.
+        &quot;mode&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s mode attribute should be handled by the transfer. If unspecified, the default behavior is the same as MODE_SKIP when the source is a POSIX file system.
+        &quot;symlink&quot;: &quot;A String&quot;, # Specifies how symlinks should be handled by the transfer. If unspecified, the default behavior is the same as SYMLINK_SKIP when the source is a POSIX file system.
+        &quot;uid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s UID attribute should be handled by the transfer. If unspecified, the default behavior is the same as UID_SKIP when the source is a POSIX file system.
+      },
       &quot;overwriteObjectsAlreadyExistingInSink&quot;: True or False, # When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.
     },
   },
@@ -233,12 +243,12 @@
   &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
   &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
   &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
-  &quot;loggingConfig&quot;: { # Logging configuration. # Logging configuration.
-    &quot;enableOnpremGcsTransferLogs&quot;: True or False, # Enables the Cloud Storage transfer logs for this transfer. This is only supported for transfer jobs with PosixFilesystem sources. The default is that logs are not generated for this transfer.
-    &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+  &quot;loggingConfig&quot;: { # Specifies the logging behavior for transfer operations. For cloud-to-cloud transfers, logs are sent to Cloud Logging. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details. For transfers to or from a POSIX file system, logs are stored in the Cloud Storage bucket that is the source or sink of the transfer. See [Managing Transfer for on-premises jobs] (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) for details. # Logging configuration.
+    &quot;enableOnpremGcsTransferLogs&quot;: True or False, # For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer.
+    &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
       &quot;A String&quot;,
     ],
-    &quot;logActions&quot;: [ # Actions to be logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+    &quot;logActions&quot;: [ # Specifies the actions to be logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
       &quot;A String&quot;,
     ],
   },
@@ -289,7 +299,7 @@
     },
     &quot;azureBlobStorageDataSource&quot;: { # An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs&#x27;s name is the [Azure Blob Storage blob&#x27;s key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names). # An Azure Blob Storage data source.
       &quot;azureCredentials&quot;: { # Azure credentials For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. Credentials used to authenticate API requests to Azure. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
-        &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). *Note:*Copying data from Azure Data Lake Storage (ADLS) Gen 2 is in [Preview](/products/#product-launch-stages). During Preview, if you are copying data from ADLS Gen 2, you must use an account SAS. For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
+        &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
       },
       &quot;container&quot;: &quot;A String&quot;, # Required. The container to transfer from the Azure Storage account.
       &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;.
@@ -303,6 +313,10 @@
       &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
       &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
     },
+    &quot;gcsIntermediateDataLocation&quot;: { # In a GcsData resource, an object&#x27;s name is the Cloud Storage object&#x27;s name and its &quot;last modification time&quot; refers to the object&#x27;s `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated. # Cloud Storage intermediate data location.
+      &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
+      &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
+    },
     &quot;httpDataSource&quot;: { # An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `&quot;TsvHttpData-1.0&quot;`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** — The location of the object. * **Length** — The size of the object in bytes. * **MD5** — The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object is not transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer fails. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer. # An HTTP URL data source.
       &quot;listUrl&quot;: &quot;A String&quot;, # Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
     },
@@ -332,6 +346,12 @@
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
       &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
+        &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s GID attribute should be handled by the transfer. If unspecified, the default behavior is the same as GID_SKIP when the source is a POSIX file system.
+        &quot;mode&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s mode attribute should be handled by the transfer. If unspecified, the default behavior is the same as MODE_SKIP when the source is a POSIX file system.
+        &quot;symlink&quot;: &quot;A String&quot;, # Specifies how symlinks should be handled by the transfer. If unspecified, the default behavior is the same as SYMLINK_SKIP when the source is a POSIX file system.
+        &quot;uid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s UID attribute should be handled by the transfer. If unspecified, the default behavior is the same as UID_SKIP when the source is a POSIX file system.
+      },
       &quot;overwriteObjectsAlreadyExistingInSink&quot;: True or False, # When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.
     },
   },
@@ -359,12 +379,12 @@
   &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
   &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
   &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
-  &quot;loggingConfig&quot;: { # Logging configuration. # Logging configuration.
-    &quot;enableOnpremGcsTransferLogs&quot;: True or False, # Enables the Cloud Storage transfer logs for this transfer. This is only supported for transfer jobs with PosixFilesystem sources. The default is that logs are not generated for this transfer.
-    &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+  &quot;loggingConfig&quot;: { # Specifies the logging behavior for transfer operations. For cloud-to-cloud transfers, logs are sent to Cloud Logging. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details. For transfers to or from a POSIX file system, logs are stored in the Cloud Storage bucket that is the source or sink of the transfer. See [Managing Transfer for on-premises jobs] (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) for details. # Logging configuration.
+    &quot;enableOnpremGcsTransferLogs&quot;: True or False, # For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer.
+    &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
       &quot;A String&quot;,
     ],
-    &quot;logActions&quot;: [ # Actions to be logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+    &quot;logActions&quot;: [ # Specifies the actions to be logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
       &quot;A String&quot;,
     ],
   },
@@ -415,7 +435,7 @@
     },
     &quot;azureBlobStorageDataSource&quot;: { # An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs&#x27;s name is the [Azure Blob Storage blob&#x27;s key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names). # An Azure Blob Storage data source.
       &quot;azureCredentials&quot;: { # Azure credentials For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. Credentials used to authenticate API requests to Azure. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
-        &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). *Note:*Copying data from Azure Data Lake Storage (ADLS) Gen 2 is in [Preview](/products/#product-launch-stages). During Preview, if you are copying data from ADLS Gen 2, you must use an account SAS. For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
+        &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
       },
       &quot;container&quot;: &quot;A String&quot;, # Required. The container to transfer from the Azure Storage account.
       &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;.
@@ -429,6 +449,10 @@
       &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
       &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
     },
+    &quot;gcsIntermediateDataLocation&quot;: { # In a GcsData resource, an object&#x27;s name is the Cloud Storage object&#x27;s name and its &quot;last modification time&quot; refers to the object&#x27;s `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated. # Cloud Storage intermediate data location.
+      &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
+      &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
+    },
     &quot;httpDataSource&quot;: { # An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `&quot;TsvHttpData-1.0&quot;`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** — The location of the object. * **Length** — The size of the object in bytes. * **MD5** — The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object is not transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer fails. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer. # An HTTP URL data source.
       &quot;listUrl&quot;: &quot;A String&quot;, # Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
     },
@@ -458,6 +482,12 @@
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
       &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
+        &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s GID attribute should be handled by the transfer. If unspecified, the default behavior is the same as GID_SKIP when the source is a POSIX file system.
+        &quot;mode&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s mode attribute should be handled by the transfer. If unspecified, the default behavior is the same as MODE_SKIP when the source is a POSIX file system.
+        &quot;symlink&quot;: &quot;A String&quot;, # Specifies how symlinks should be handled by the transfer. If unspecified, the default behavior is the same as SYMLINK_SKIP when the source is a POSIX file system.
+        &quot;uid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s UID attribute should be handled by the transfer. If unspecified, the default behavior is the same as UID_SKIP when the source is a POSIX file system.
+      },
       &quot;overwriteObjectsAlreadyExistingInSink&quot;: True or False, # When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.
     },
   },
@@ -489,12 +519,12 @@
       &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
       &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
       &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
-      &quot;loggingConfig&quot;: { # Logging configuration. # Logging configuration.
-        &quot;enableOnpremGcsTransferLogs&quot;: True or False, # Enables the Cloud Storage transfer logs for this transfer. This is only supported for transfer jobs with PosixFilesystem sources. The default is that logs are not generated for this transfer.
-        &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+      &quot;loggingConfig&quot;: { # Specifies the logging behavior for transfer operations. For cloud-to-cloud transfers, logs are sent to Cloud Logging. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details. For transfers to or from a POSIX file system, logs are stored in the Cloud Storage bucket that is the source or sink of the transfer. See [Managing Transfer for on-premises jobs] (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) for details. # Logging configuration.
+        &quot;enableOnpremGcsTransferLogs&quot;: True or False, # For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer.
+        &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
           &quot;A String&quot;,
         ],
-        &quot;logActions&quot;: [ # Actions to be logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+        &quot;logActions&quot;: [ # Specifies the actions to be logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
           &quot;A String&quot;,
         ],
       },
@@ -545,7 +575,7 @@
         },
         &quot;azureBlobStorageDataSource&quot;: { # An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs&#x27;s name is the [Azure Blob Storage blob&#x27;s key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names). # An Azure Blob Storage data source.
           &quot;azureCredentials&quot;: { # Azure credentials For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. Credentials used to authenticate API requests to Azure. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
-            &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). *Note:*Copying data from Azure Data Lake Storage (ADLS) Gen 2 is in [Preview](/products/#product-launch-stages). During Preview, if you are copying data from ADLS Gen 2, you must use an account SAS. For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
+            &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
           },
           &quot;container&quot;: &quot;A String&quot;, # Required. The container to transfer from the Azure Storage account.
           &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;.
@@ -559,6 +589,10 @@
           &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
           &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
         },
+        &quot;gcsIntermediateDataLocation&quot;: { # In a GcsData resource, an object&#x27;s name is the Cloud Storage object&#x27;s name and its &quot;last modification time&quot; refers to the object&#x27;s `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated. # Cloud Storage intermediate data location.
+          &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
+          &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
+        },
         &quot;httpDataSource&quot;: { # An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `&quot;TsvHttpData-1.0&quot;`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** — The location of the object. * **Length** — The size of the object in bytes. * **MD5** — The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object is not transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer fails. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer. # An HTTP URL data source.
           &quot;listUrl&quot;: &quot;A String&quot;, # Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
         },
@@ -588,6 +622,12 @@
         &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
           &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
           &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+          &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
+            &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s GID attribute should be handled by the transfer. If unspecified, the default behavior is the same as GID_SKIP when the source is a POSIX file system.
+            &quot;mode&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s mode attribute should be handled by the transfer. If unspecified, the default behavior is the same as MODE_SKIP when the source is a POSIX file system.
+            &quot;symlink&quot;: &quot;A String&quot;, # Specifies how symlinks should be handled by the transfer. If unspecified, the default behavior is the same as SYMLINK_SKIP when the source is a POSIX file system.
+            &quot;uid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s UID attribute should be handled by the transfer. If unspecified, the default behavior is the same as UID_SKIP when the source is a POSIX file system.
+          },
           &quot;overwriteObjectsAlreadyExistingInSink&quot;: True or False, # When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.
         },
       },
@@ -621,18 +661,18 @@
 
 { # Request passed to UpdateTransferJob.
   &quot;projectId&quot;: &quot;A String&quot;, # Required. The ID of the Google Cloud project that owns the job.
-  &quot;transferJob&quot;: { # This resource represents the configuration of a transfer job that runs periodically. # Required. The job to update. `transferJob` is expected to specify only four fields: description, transfer_spec, notification_config, and status. An `UpdateTransferJobRequest` that specifies other fields are rejected with the error INVALID_ARGUMENT. Updating a job status to DELETED requires `storagetransfer.jobs.delete` permissions.
+  &quot;transferJob&quot;: { # This resource represents the configuration of a transfer job that runs periodically. # Required. The job to update. `transferJob` is expected to specify one or more of five fields: description, transfer_spec, notification_config, [logging_config[TransferJob.logging_config], and status. An `UpdateTransferJobRequest` that specifies other fields are rejected with the error INVALID_ARGUMENT. Updating a job status to DELETED requires `storagetransfer.jobs.delete` permissions.
     &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was created.
     &quot;deletionTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was deleted.
     &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
     &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
     &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
-    &quot;loggingConfig&quot;: { # Logging configuration. # Logging configuration.
-      &quot;enableOnpremGcsTransferLogs&quot;: True or False, # Enables the Cloud Storage transfer logs for this transfer. This is only supported for transfer jobs with PosixFilesystem sources. The default is that logs are not generated for this transfer.
-      &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+    &quot;loggingConfig&quot;: { # Specifies the logging behavior for transfer operations. For cloud-to-cloud transfers, logs are sent to Cloud Logging. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details. For transfers to or from a POSIX file system, logs are stored in the Cloud Storage bucket that is the source or sink of the transfer. See [Managing Transfer for on-premises jobs] (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) for details. # Logging configuration.
+      &quot;enableOnpremGcsTransferLogs&quot;: True or False, # For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer.
+      &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
         &quot;A String&quot;,
       ],
-      &quot;logActions&quot;: [ # Actions to be logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+      &quot;logActions&quot;: [ # Specifies the actions to be logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
         &quot;A String&quot;,
       ],
     },
@@ -683,7 +723,7 @@
       },
       &quot;azureBlobStorageDataSource&quot;: { # An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs&#x27;s name is the [Azure Blob Storage blob&#x27;s key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names). # An Azure Blob Storage data source.
         &quot;azureCredentials&quot;: { # Azure credentials For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. Credentials used to authenticate API requests to Azure. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
-          &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). *Note:*Copying data from Azure Data Lake Storage (ADLS) Gen 2 is in [Preview](/products/#product-launch-stages). During Preview, if you are copying data from ADLS Gen 2, you must use an account SAS. For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
+          &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
         },
         &quot;container&quot;: &quot;A String&quot;, # Required. The container to transfer from the Azure Storage account.
         &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;.
@@ -697,6 +737,10 @@
         &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
         &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
       },
+      &quot;gcsIntermediateDataLocation&quot;: { # In a GcsData resource, an object&#x27;s name is the Cloud Storage object&#x27;s name and its &quot;last modification time&quot; refers to the object&#x27;s `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated. # Cloud Storage intermediate data location.
+        &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
+        &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
+      },
       &quot;httpDataSource&quot;: { # An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `&quot;TsvHttpData-1.0&quot;`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** — The location of the object. * **Length** — The size of the object in bytes. * **MD5** — The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object is not transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer fails. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer. # An HTTP URL data source.
         &quot;listUrl&quot;: &quot;A String&quot;, # Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
       },
@@ -726,11 +770,17 @@
       &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
         &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
         &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+        &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
+          &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s GID attribute should be handled by the transfer. If unspecified, the default behavior is the same as GID_SKIP when the source is a POSIX file system.
+          &quot;mode&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s mode attribute should be handled by the transfer. If unspecified, the default behavior is the same as MODE_SKIP when the source is a POSIX file system.
+          &quot;symlink&quot;: &quot;A String&quot;, # Specifies how symlinks should be handled by the transfer. If unspecified, the default behavior is the same as SYMLINK_SKIP when the source is a POSIX file system.
+          &quot;uid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s UID attribute should be handled by the transfer. If unspecified, the default behavior is the same as UID_SKIP when the source is a POSIX file system.
+        },
         &quot;overwriteObjectsAlreadyExistingInSink&quot;: True or False, # When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.
       },
     },
   },
-  &quot;updateTransferJobFieldMask&quot;: &quot;A String&quot;, # The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields is rejected with the error INVALID_ARGUMENT.
+  &quot;updateTransferJobFieldMask&quot;: &quot;A String&quot;, # The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, logging_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields is rejected with the error INVALID_ARGUMENT.
 }
 
   x__xgafv: string, V1 error format.
@@ -747,12 +797,12 @@
   &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
   &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
   &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
-  &quot;loggingConfig&quot;: { # Logging configuration. # Logging configuration.
-    &quot;enableOnpremGcsTransferLogs&quot;: True or False, # Enables the Cloud Storage transfer logs for this transfer. This is only supported for transfer jobs with PosixFilesystem sources. The default is that logs are not generated for this transfer.
-    &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+  &quot;loggingConfig&quot;: { # Specifies the logging behavior for transfer operations. For cloud-to-cloud transfers, logs are sent to Cloud Logging. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details. For transfers to or from a POSIX file system, logs are stored in the Cloud Storage bucket that is the source or sink of the transfer. See [Managing Transfer for on-premises jobs] (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) for details. # Logging configuration.
+    &quot;enableOnpremGcsTransferLogs&quot;: True or False, # For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer.
+    &quot;logActionStates&quot;: [ # States in which `log_actions` are logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
       &quot;A String&quot;,
     ],
-    &quot;logActions&quot;: [ # Actions to be logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.
+    &quot;logActions&quot;: [ # Specifies the actions to be logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.
       &quot;A String&quot;,
     ],
   },
@@ -803,7 +853,7 @@
     },
     &quot;azureBlobStorageDataSource&quot;: { # An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs&#x27;s name is the [Azure Blob Storage blob&#x27;s key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names). # An Azure Blob Storage data source.
       &quot;azureCredentials&quot;: { # Azure credentials For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. Credentials used to authenticate API requests to Azure. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
-        &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). *Note:*Copying data from Azure Data Lake Storage (ADLS) Gen 2 is in [Preview](/products/#product-launch-stages). During Preview, if you are copying data from ADLS Gen 2, you must use an account SAS. For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
+        &quot;sasToken&quot;: &quot;A String&quot;, # Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
       },
       &quot;container&quot;: &quot;A String&quot;, # Required. The container to transfer from the Azure Storage account.
       &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;.
@@ -817,6 +867,10 @@
       &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
       &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
     },
+    &quot;gcsIntermediateDataLocation&quot;: { # In a GcsData resource, an object&#x27;s name is the Cloud Storage object&#x27;s name and its &quot;last modification time&quot; refers to the object&#x27;s `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated. # Cloud Storage intermediate data location.
+      &quot;bucketName&quot;: &quot;A String&quot;, # Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).
+      &quot;path&quot;: &quot;A String&quot;, # Root path to transfer objects. Must be an empty string or full path name that ends with a &#x27;/&#x27;. This field is treated as an object prefix. As such, it should generally not begin with a &#x27;/&#x27;. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).
+    },
     &quot;httpDataSource&quot;: { # An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `&quot;TsvHttpData-1.0&quot;`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** — The location of the object. * **Length** — The size of the object in bytes. * **MD5** — The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object is not transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer fails. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer. # An HTTP URL data source.
       &quot;listUrl&quot;: &quot;A String&quot;, # Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
     },
@@ -846,6 +900,12 @@
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
       &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
+        &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s GID attribute should be handled by the transfer. If unspecified, the default behavior is the same as GID_SKIP when the source is a POSIX file system.
+        &quot;mode&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s mode attribute should be handled by the transfer. If unspecified, the default behavior is the same as MODE_SKIP when the source is a POSIX file system.
+        &quot;symlink&quot;: &quot;A String&quot;, # Specifies how symlinks should be handled by the transfer. If unspecified, the default behavior is the same as SYMLINK_SKIP when the source is a POSIX file system.
+        &quot;uid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s UID attribute should be handled by the transfer. If unspecified, the default behavior is the same as UID_SKIP when the source is a POSIX file system.
+      },
       &quot;overwriteObjectsAlreadyExistingInSink&quot;: True or False, # When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.
     },
   },
diff --git a/docs/dyn/transcoder_v1.html b/docs/dyn/transcoder_v1.html
new file mode 100644
index 0000000..e866af9
--- /dev/null
+++ b/docs/dyn/transcoder_v1.html
@@ -0,0 +1,111 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="transcoder_v1.html">Transcoder API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="transcoder_v1.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#new_batch_http_request">new_batch_http_request()</a></code></p>
+<p class="firstline">Create a BatchHttpRequest object based on the discovery document.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="new_batch_http_request">new_batch_http_request()</code>
+  <pre>Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/transcoder_v1.projects.html b/docs/dyn/transcoder_v1.projects.html
new file mode 100644
index 0000000..7bd301d
--- /dev/null
+++ b/docs/dyn/transcoder_v1.projects.html
@@ -0,0 +1,91 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="transcoder_v1.html">Transcoder API</a> . <a href="transcoder_v1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="transcoder_v1.projects.locations.html">locations()</a></code>
+</p>
+<p class="firstline">Returns the locations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/transcoder_v1.projects.locations.html b/docs/dyn/transcoder_v1.projects.locations.html
new file mode 100644
index 0000000..4b6f6f0
--- /dev/null
+++ b/docs/dyn/transcoder_v1.projects.locations.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="transcoder_v1.html">Transcoder API</a> . <a href="transcoder_v1.projects.html">projects</a> . <a href="transcoder_v1.projects.locations.html">locations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="transcoder_v1.projects.locations.jobTemplates.html">jobTemplates()</a></code>
+</p>
+<p class="firstline">Returns the jobTemplates Resource.</p>
+
+<p class="toc_element">
+  <code><a href="transcoder_v1.projects.locations.jobs.html">jobs()</a></code>
+</p>
+<p class="firstline">Returns the jobs 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/transcoder_v1.projects.locations.jobTemplates.html b/docs/dyn/transcoder_v1.projects.locations.jobTemplates.html
new file mode 100644
index 0000000..20d8ad5
--- /dev/null
+++ b/docs/dyn/transcoder_v1.projects.locations.jobTemplates.html
@@ -0,0 +1,1111 @@
+<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="transcoder_v1.html">Transcoder API</a> . <a href="transcoder_v1.projects.html">projects</a> . <a href="transcoder_v1.projects.locations.html">locations</a> . <a href="transcoder_v1.projects.locations.jobTemplates.html">jobTemplates</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, jobTemplateId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a job template in the specified region.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, allowMissing=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a job template.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the job template data.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists job templates in the specified region.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<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, jobTemplateId=None, x__xgafv=None)</code>
+  <pre>Creates a job template in the specified region.
+
+Args:
+  parent: string, Required. The parent location to create this job template. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Transcoding job template resource.
+  &quot;config&quot;: { # Job configuration # The configuration for this template.
+    &quot;adBreaks&quot;: [ # List of ad breaks. Specifies where to insert ad break tags in the output manifests.
+      { # Ad break.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.
+      },
+    ],
+    &quot;editList&quot;: [ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.
+      { # Edit atom.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.
+        &quot;inputs&quot;: [ # List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.
+          &quot;A String&quot;,
+        ],
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this atom. Must be specified when using advanced mapping.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.
+      },
+    ],
+    &quot;elementaryStreams&quot;: [ # List of elementary streams.
+      { # Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.
+        &quot;audioStream&quot;: { # Audio stream resource. # Encoding of an audio stream.
+          &quot;bitrateBps&quot;: 42, # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+          &quot;channelCount&quot;: 42, # Number of audio channels. Must be between 1 and 6. The default is 2.
+          &quot;channelLayout&quot;: [ # A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[&quot;fl&quot;, &quot;fr&quot;]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency
+            &quot;A String&quot;,
+          ],
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.
+              &quot;gainDb&quot;: 3.14, # Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
+              &quot;inputChannel&quot;: 42, # Required. The zero-based index of the channel in the input audio stream.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+              &quot;outputChannel&quot;: 42, # Required. The zero-based index of the channel in the output audio stream.
+            },
+          ],
+          &quot;sampleRateHertz&quot;: 42, # The audio sample rate in Hertz. The default is 48000 Hertz.
+        },
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this elementary stream.
+        &quot;textStream&quot;: { # Encoding of a text stream. For example, closed captions or subtitles. # Encoding of a text stream. For example, closed captions or subtitles.
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+            },
+          ],
+        },
+        &quot;videoStream&quot;: { # Video stream resource. # Encoding of a video stream.
+          &quot;h264&quot;: { # H264 codec settings. # H264 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;entropyCoder&quot;: &quot;A String&quot;, # The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;h265&quot;: { # H265 codec settings. # H265 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;vp9&quot;: { # VP9 codec settings. # VP9 codec settings.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+        },
+      },
+    ],
+    &quot;inputs&quot;: [ # List of input assets stored in Cloud Storage.
+      { # Input asset.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this input. Must be specified when using advanced mapping and edit lists.
+        &quot;preprocessingConfig&quot;: { # Preprocessing configurations. # Preprocessing configurations.
+          &quot;audio&quot;: { # Audio preprocessing configuration. # Audio preprocessing configuration.
+            &quot;highBoost&quot;: True or False, # Enable boosting high frequency components. The default is `false`.
+            &quot;lowBoost&quot;: True or False, # Enable boosting low frequency components. The default is `false`.
+            &quot;lufs&quot;: 3.14, # Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization
+          },
+          &quot;color&quot;: { # Color preprocessing configuration. # Color preprocessing configuration.
+            &quot;brightness&quot;: 3.14, # Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.
+            &quot;contrast&quot;: 3.14, # Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.
+            &quot;saturation&quot;: 3.14, # Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.
+          },
+          &quot;crop&quot;: { # Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution. # Specify the video cropping configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to crop from the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to crop from the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to crop from the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to crop from the top. The default is 0.
+          },
+          &quot;deblock&quot;: { # Deblock preprocessing configuration. # Deblock preprocessing configuration.
+            &quot;enabled&quot;: True or False, # Enable deblocker. The default is `false`.
+            &quot;strength&quot;: 3.14, # Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.
+          },
+          &quot;denoise&quot;: { # Denoise preprocessing configuration. # Denoise preprocessing configuration.
+            &quot;strength&quot;: 3.14, # Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.
+            &quot;tune&quot;: &quot;A String&quot;, # Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`
+          },
+          &quot;pad&quot;: { # Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution. # Specify the video pad filter configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to add to the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to add to the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to add to the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to add to the top. The default is 0.
+          },
+        },
+        &quot;uri&quot;: &quot;A String&quot;, # URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.
+      },
+    ],
+    &quot;manifests&quot;: [ # List of output manifests.
+      { # Manifest configuration.
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.
+        &quot;muxStreams&quot;: [ # Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.
+          &quot;A String&quot;,
+        ],
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of the manifest, can be `HLS` or `DASH`.
+      },
+    ],
+    &quot;muxStreams&quot;: [ # List of multiplexing settings for output streams.
+      { # Multiplexing settings for output stream.
+        &quot;container&quot;: &quot;A String&quot;, # The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`
+        &quot;elementaryStreams&quot;: [ # List of `ElementaryStream.key`s multiplexed in this stream.
+          &quot;A String&quot;,
+        ],
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.
+        &quot;segmentSettings&quot;: { # Segment settings for `ts`, `fmp4` and `vtt`. # Segment settings for `ts`, `fmp4` and `vtt`.
+          &quot;individualSegments&quot;: True or False, # Required. Create an individual segment file. The default is `false`.
+          &quot;segmentDuration&quot;: &quot;A String&quot;, # Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).
+        },
+      },
+    ],
+    &quot;output&quot;: { # Location of output file(s) in a Cloud Storage bucket. # Output configuration.
+      &quot;uri&quot;: &quot;A String&quot;, # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.
+    },
+    &quot;overlays&quot;: [ # List of overlays on the output video, in descending Z-order.
+      { # Overlay configuration.
+        &quot;animations&quot;: [ # List of Animations. The list should be chronological, without any time overlap.
+          { # Animation types.
+            &quot;animationEnd&quot;: { # End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video. # End previous animation.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to end overlay object, in seconds. Default: 0
+            },
+            &quot;animationFade&quot;: { # Display overlay object with fade animation. # Display overlay object with fade animation.
+              &quot;endTimeOffset&quot;: &quot;A String&quot;, # The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s
+              &quot;fadeType&quot;: &quot;A String&quot;, # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start the fade animation, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+            &quot;animationStatic&quot;: { # Display static overlay object. # Display static overlay object.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start displaying the overlay object, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+          },
+        ],
+        &quot;image&quot;: { # Overlaid jpeg image. # Image overlay.
+          &quot;alpha&quot;: 3.14, # Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.
+          &quot;resolution&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized image resolution, based on output video resolution. Valid values: `0.0`–`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`.
+            &quot;x&quot;: 3.14, # Normalized x coordinate.
+            &quot;y&quot;: 3.14, # Normalized y coordinate.
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.
+        },
+      },
+    ],
+    &quot;pubsubDestination&quot;: { # A Pub/Sub destination. # Destination on Pub/Sub.
+      &quot;topic&quot;: &quot;A String&quot;, # The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.
+    },
+    &quot;spriteSheets&quot;: [ # List of output sprite sheets.
+      { # Sprite sheet configuration.
+        &quot;columnCount&quot;: 42, # The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.
+        &quot;filePrefix&quot;: &quot;A String&quot;, # Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+        &quot;format&quot;: &quot;A String&quot;, # Format type. The default is `jpeg`. Supported formats: - `jpeg`
+        &quot;interval&quot;: &quot;A String&quot;, # Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.
+        &quot;quality&quot;: 42, # The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
+        &quot;rowCount&quot;: 42, # The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.
+        &quot;spriteHeightPixels&quot;: 42, # Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;spriteWidthPixels&quot;: 42, # Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.
+        &quot;totalCount&quot;: 42, # Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.
+      },
+    ],
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the job template. Format: `projects/{project_number}/locations/{location}/jobTemplates/{job_template}`
+}
+
+  jobTemplateId: string, Required. The ID to use for the job template, which will become the final component of the job template&#x27;s resource name. This value should be 4-63 characters, and valid characters must match the regular expression `a-zA-Z*`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Transcoding job template resource.
+  &quot;config&quot;: { # Job configuration # The configuration for this template.
+    &quot;adBreaks&quot;: [ # List of ad breaks. Specifies where to insert ad break tags in the output manifests.
+      { # Ad break.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.
+      },
+    ],
+    &quot;editList&quot;: [ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.
+      { # Edit atom.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.
+        &quot;inputs&quot;: [ # List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.
+          &quot;A String&quot;,
+        ],
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this atom. Must be specified when using advanced mapping.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.
+      },
+    ],
+    &quot;elementaryStreams&quot;: [ # List of elementary streams.
+      { # Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.
+        &quot;audioStream&quot;: { # Audio stream resource. # Encoding of an audio stream.
+          &quot;bitrateBps&quot;: 42, # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+          &quot;channelCount&quot;: 42, # Number of audio channels. Must be between 1 and 6. The default is 2.
+          &quot;channelLayout&quot;: [ # A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[&quot;fl&quot;, &quot;fr&quot;]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency
+            &quot;A String&quot;,
+          ],
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.
+              &quot;gainDb&quot;: 3.14, # Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
+              &quot;inputChannel&quot;: 42, # Required. The zero-based index of the channel in the input audio stream.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+              &quot;outputChannel&quot;: 42, # Required. The zero-based index of the channel in the output audio stream.
+            },
+          ],
+          &quot;sampleRateHertz&quot;: 42, # The audio sample rate in Hertz. The default is 48000 Hertz.
+        },
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this elementary stream.
+        &quot;textStream&quot;: { # Encoding of a text stream. For example, closed captions or subtitles. # Encoding of a text stream. For example, closed captions or subtitles.
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+            },
+          ],
+        },
+        &quot;videoStream&quot;: { # Video stream resource. # Encoding of a video stream.
+          &quot;h264&quot;: { # H264 codec settings. # H264 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;entropyCoder&quot;: &quot;A String&quot;, # The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;h265&quot;: { # H265 codec settings. # H265 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;vp9&quot;: { # VP9 codec settings. # VP9 codec settings.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+        },
+      },
+    ],
+    &quot;inputs&quot;: [ # List of input assets stored in Cloud Storage.
+      { # Input asset.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this input. Must be specified when using advanced mapping and edit lists.
+        &quot;preprocessingConfig&quot;: { # Preprocessing configurations. # Preprocessing configurations.
+          &quot;audio&quot;: { # Audio preprocessing configuration. # Audio preprocessing configuration.
+            &quot;highBoost&quot;: True or False, # Enable boosting high frequency components. The default is `false`.
+            &quot;lowBoost&quot;: True or False, # Enable boosting low frequency components. The default is `false`.
+            &quot;lufs&quot;: 3.14, # Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization
+          },
+          &quot;color&quot;: { # Color preprocessing configuration. # Color preprocessing configuration.
+            &quot;brightness&quot;: 3.14, # Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.
+            &quot;contrast&quot;: 3.14, # Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.
+            &quot;saturation&quot;: 3.14, # Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.
+          },
+          &quot;crop&quot;: { # Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution. # Specify the video cropping configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to crop from the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to crop from the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to crop from the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to crop from the top. The default is 0.
+          },
+          &quot;deblock&quot;: { # Deblock preprocessing configuration. # Deblock preprocessing configuration.
+            &quot;enabled&quot;: True or False, # Enable deblocker. The default is `false`.
+            &quot;strength&quot;: 3.14, # Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.
+          },
+          &quot;denoise&quot;: { # Denoise preprocessing configuration. # Denoise preprocessing configuration.
+            &quot;strength&quot;: 3.14, # Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.
+            &quot;tune&quot;: &quot;A String&quot;, # Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`
+          },
+          &quot;pad&quot;: { # Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution. # Specify the video pad filter configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to add to the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to add to the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to add to the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to add to the top. The default is 0.
+          },
+        },
+        &quot;uri&quot;: &quot;A String&quot;, # URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.
+      },
+    ],
+    &quot;manifests&quot;: [ # List of output manifests.
+      { # Manifest configuration.
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.
+        &quot;muxStreams&quot;: [ # Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.
+          &quot;A String&quot;,
+        ],
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of the manifest, can be `HLS` or `DASH`.
+      },
+    ],
+    &quot;muxStreams&quot;: [ # List of multiplexing settings for output streams.
+      { # Multiplexing settings for output stream.
+        &quot;container&quot;: &quot;A String&quot;, # The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`
+        &quot;elementaryStreams&quot;: [ # List of `ElementaryStream.key`s multiplexed in this stream.
+          &quot;A String&quot;,
+        ],
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.
+        &quot;segmentSettings&quot;: { # Segment settings for `ts`, `fmp4` and `vtt`. # Segment settings for `ts`, `fmp4` and `vtt`.
+          &quot;individualSegments&quot;: True or False, # Required. Create an individual segment file. The default is `false`.
+          &quot;segmentDuration&quot;: &quot;A String&quot;, # Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).
+        },
+      },
+    ],
+    &quot;output&quot;: { # Location of output file(s) in a Cloud Storage bucket. # Output configuration.
+      &quot;uri&quot;: &quot;A String&quot;, # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.
+    },
+    &quot;overlays&quot;: [ # List of overlays on the output video, in descending Z-order.
+      { # Overlay configuration.
+        &quot;animations&quot;: [ # List of Animations. The list should be chronological, without any time overlap.
+          { # Animation types.
+            &quot;animationEnd&quot;: { # End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video. # End previous animation.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to end overlay object, in seconds. Default: 0
+            },
+            &quot;animationFade&quot;: { # Display overlay object with fade animation. # Display overlay object with fade animation.
+              &quot;endTimeOffset&quot;: &quot;A String&quot;, # The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s
+              &quot;fadeType&quot;: &quot;A String&quot;, # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start the fade animation, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+            &quot;animationStatic&quot;: { # Display static overlay object. # Display static overlay object.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start displaying the overlay object, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+          },
+        ],
+        &quot;image&quot;: { # Overlaid jpeg image. # Image overlay.
+          &quot;alpha&quot;: 3.14, # Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.
+          &quot;resolution&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized image resolution, based on output video resolution. Valid values: `0.0`–`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`.
+            &quot;x&quot;: 3.14, # Normalized x coordinate.
+            &quot;y&quot;: 3.14, # Normalized y coordinate.
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.
+        },
+      },
+    ],
+    &quot;pubsubDestination&quot;: { # A Pub/Sub destination. # Destination on Pub/Sub.
+      &quot;topic&quot;: &quot;A String&quot;, # The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.
+    },
+    &quot;spriteSheets&quot;: [ # List of output sprite sheets.
+      { # Sprite sheet configuration.
+        &quot;columnCount&quot;: 42, # The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.
+        &quot;filePrefix&quot;: &quot;A String&quot;, # Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+        &quot;format&quot;: &quot;A String&quot;, # Format type. The default is `jpeg`. Supported formats: - `jpeg`
+        &quot;interval&quot;: &quot;A String&quot;, # Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.
+        &quot;quality&quot;: 42, # The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
+        &quot;rowCount&quot;: 42, # The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.
+        &quot;spriteHeightPixels&quot;: 42, # Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;spriteWidthPixels&quot;: 42, # Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.
+        &quot;totalCount&quot;: 42, # Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.
+      },
+    ],
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the job template. Format: `projects/{project_number}/locations/{location}/jobTemplates/{job_template}`
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, allowMissing=None, x__xgafv=None)</code>
+  <pre>Deletes a job template.
+
+Args:
+  name: string, Required. The name of the job template to delete. `projects/{project}/locations/{location}/jobTemplates/{job_template}` (required)
+  allowMissing: boolean, If set to true, and the job template is not found, the request will succeed but no action will be taken on the server.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Returns the job template data.
+
+Args:
+  name: string, Required. The name of the job template to retrieve. Format: `projects/{project}/locations/{location}/jobTemplates/{job_template}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Transcoding job template resource.
+  &quot;config&quot;: { # Job configuration # The configuration for this template.
+    &quot;adBreaks&quot;: [ # List of ad breaks. Specifies where to insert ad break tags in the output manifests.
+      { # Ad break.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.
+      },
+    ],
+    &quot;editList&quot;: [ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.
+      { # Edit atom.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.
+        &quot;inputs&quot;: [ # List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.
+          &quot;A String&quot;,
+        ],
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this atom. Must be specified when using advanced mapping.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.
+      },
+    ],
+    &quot;elementaryStreams&quot;: [ # List of elementary streams.
+      { # Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.
+        &quot;audioStream&quot;: { # Audio stream resource. # Encoding of an audio stream.
+          &quot;bitrateBps&quot;: 42, # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+          &quot;channelCount&quot;: 42, # Number of audio channels. Must be between 1 and 6. The default is 2.
+          &quot;channelLayout&quot;: [ # A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[&quot;fl&quot;, &quot;fr&quot;]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency
+            &quot;A String&quot;,
+          ],
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.
+              &quot;gainDb&quot;: 3.14, # Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
+              &quot;inputChannel&quot;: 42, # Required. The zero-based index of the channel in the input audio stream.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+              &quot;outputChannel&quot;: 42, # Required. The zero-based index of the channel in the output audio stream.
+            },
+          ],
+          &quot;sampleRateHertz&quot;: 42, # The audio sample rate in Hertz. The default is 48000 Hertz.
+        },
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this elementary stream.
+        &quot;textStream&quot;: { # Encoding of a text stream. For example, closed captions or subtitles. # Encoding of a text stream. For example, closed captions or subtitles.
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+            },
+          ],
+        },
+        &quot;videoStream&quot;: { # Video stream resource. # Encoding of a video stream.
+          &quot;h264&quot;: { # H264 codec settings. # H264 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;entropyCoder&quot;: &quot;A String&quot;, # The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;h265&quot;: { # H265 codec settings. # H265 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;vp9&quot;: { # VP9 codec settings. # VP9 codec settings.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+        },
+      },
+    ],
+    &quot;inputs&quot;: [ # List of input assets stored in Cloud Storage.
+      { # Input asset.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this input. Must be specified when using advanced mapping and edit lists.
+        &quot;preprocessingConfig&quot;: { # Preprocessing configurations. # Preprocessing configurations.
+          &quot;audio&quot;: { # Audio preprocessing configuration. # Audio preprocessing configuration.
+            &quot;highBoost&quot;: True or False, # Enable boosting high frequency components. The default is `false`.
+            &quot;lowBoost&quot;: True or False, # Enable boosting low frequency components. The default is `false`.
+            &quot;lufs&quot;: 3.14, # Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization
+          },
+          &quot;color&quot;: { # Color preprocessing configuration. # Color preprocessing configuration.
+            &quot;brightness&quot;: 3.14, # Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.
+            &quot;contrast&quot;: 3.14, # Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.
+            &quot;saturation&quot;: 3.14, # Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.
+          },
+          &quot;crop&quot;: { # Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution. # Specify the video cropping configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to crop from the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to crop from the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to crop from the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to crop from the top. The default is 0.
+          },
+          &quot;deblock&quot;: { # Deblock preprocessing configuration. # Deblock preprocessing configuration.
+            &quot;enabled&quot;: True or False, # Enable deblocker. The default is `false`.
+            &quot;strength&quot;: 3.14, # Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.
+          },
+          &quot;denoise&quot;: { # Denoise preprocessing configuration. # Denoise preprocessing configuration.
+            &quot;strength&quot;: 3.14, # Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.
+            &quot;tune&quot;: &quot;A String&quot;, # Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`
+          },
+          &quot;pad&quot;: { # Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution. # Specify the video pad filter configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to add to the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to add to the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to add to the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to add to the top. The default is 0.
+          },
+        },
+        &quot;uri&quot;: &quot;A String&quot;, # URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.
+      },
+    ],
+    &quot;manifests&quot;: [ # List of output manifests.
+      { # Manifest configuration.
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.
+        &quot;muxStreams&quot;: [ # Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.
+          &quot;A String&quot;,
+        ],
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of the manifest, can be `HLS` or `DASH`.
+      },
+    ],
+    &quot;muxStreams&quot;: [ # List of multiplexing settings for output streams.
+      { # Multiplexing settings for output stream.
+        &quot;container&quot;: &quot;A String&quot;, # The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`
+        &quot;elementaryStreams&quot;: [ # List of `ElementaryStream.key`s multiplexed in this stream.
+          &quot;A String&quot;,
+        ],
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.
+        &quot;segmentSettings&quot;: { # Segment settings for `ts`, `fmp4` and `vtt`. # Segment settings for `ts`, `fmp4` and `vtt`.
+          &quot;individualSegments&quot;: True or False, # Required. Create an individual segment file. The default is `false`.
+          &quot;segmentDuration&quot;: &quot;A String&quot;, # Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).
+        },
+      },
+    ],
+    &quot;output&quot;: { # Location of output file(s) in a Cloud Storage bucket. # Output configuration.
+      &quot;uri&quot;: &quot;A String&quot;, # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.
+    },
+    &quot;overlays&quot;: [ # List of overlays on the output video, in descending Z-order.
+      { # Overlay configuration.
+        &quot;animations&quot;: [ # List of Animations. The list should be chronological, without any time overlap.
+          { # Animation types.
+            &quot;animationEnd&quot;: { # End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video. # End previous animation.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to end overlay object, in seconds. Default: 0
+            },
+            &quot;animationFade&quot;: { # Display overlay object with fade animation. # Display overlay object with fade animation.
+              &quot;endTimeOffset&quot;: &quot;A String&quot;, # The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s
+              &quot;fadeType&quot;: &quot;A String&quot;, # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start the fade animation, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+            &quot;animationStatic&quot;: { # Display static overlay object. # Display static overlay object.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start displaying the overlay object, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+          },
+        ],
+        &quot;image&quot;: { # Overlaid jpeg image. # Image overlay.
+          &quot;alpha&quot;: 3.14, # Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.
+          &quot;resolution&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized image resolution, based on output video resolution. Valid values: `0.0`–`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`.
+            &quot;x&quot;: 3.14, # Normalized x coordinate.
+            &quot;y&quot;: 3.14, # Normalized y coordinate.
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.
+        },
+      },
+    ],
+    &quot;pubsubDestination&quot;: { # A Pub/Sub destination. # Destination on Pub/Sub.
+      &quot;topic&quot;: &quot;A String&quot;, # The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.
+    },
+    &quot;spriteSheets&quot;: [ # List of output sprite sheets.
+      { # Sprite sheet configuration.
+        &quot;columnCount&quot;: 42, # The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.
+        &quot;filePrefix&quot;: &quot;A String&quot;, # Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+        &quot;format&quot;: &quot;A String&quot;, # Format type. The default is `jpeg`. Supported formats: - `jpeg`
+        &quot;interval&quot;: &quot;A String&quot;, # Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.
+        &quot;quality&quot;: 42, # The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
+        &quot;rowCount&quot;: 42, # The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.
+        &quot;spriteHeightPixels&quot;: 42, # Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;spriteWidthPixels&quot;: 42, # Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.
+        &quot;totalCount&quot;: 42, # Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.
+      },
+    ],
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the job template. Format: `projects/{project_number}/locations/{location}/jobTemplates/{job_template}`
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists job templates in the specified region.
+
+Args:
+  parent: string, Required. The parent location from which to retrieve the collection of job templates. Format: `projects/{project}/locations/{location}` (required)
+  filter: string, The filter expression, following the syntax outlined in https://google.aip.dev/160.
+  orderBy: string, One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.
+  pageSize: integer, The maximum number of items to return.
+  pageToken: string, The `next_page_token` value returned from a previous List request, if any.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TranscoderService.ListJobTemplates`.
+  &quot;jobTemplates&quot;: [ # List of job templates in the specified region.
+    { # Transcoding job template resource.
+      &quot;config&quot;: { # Job configuration # The configuration for this template.
+        &quot;adBreaks&quot;: [ # List of ad breaks. Specifies where to insert ad break tags in the output manifests.
+          { # Ad break.
+            &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.
+          },
+        ],
+        &quot;editList&quot;: [ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.
+          { # Edit atom.
+            &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.
+            &quot;inputs&quot;: [ # List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.
+              &quot;A String&quot;,
+            ],
+            &quot;key&quot;: &quot;A String&quot;, # A unique key for this atom. Must be specified when using advanced mapping.
+            &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.
+          },
+        ],
+        &quot;elementaryStreams&quot;: [ # List of elementary streams.
+          { # Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.
+            &quot;audioStream&quot;: { # Audio stream resource. # Encoding of an audio stream.
+              &quot;bitrateBps&quot;: 42, # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+              &quot;channelCount&quot;: 42, # Number of audio channels. Must be between 1 and 6. The default is 2.
+              &quot;channelLayout&quot;: [ # A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[&quot;fl&quot;, &quot;fr&quot;]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency
+                &quot;A String&quot;,
+              ],
+              &quot;codec&quot;: &quot;A String&quot;, # The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`
+              &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+                { # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+                  &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.
+                  &quot;gainDb&quot;: 3.14, # Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
+                  &quot;inputChannel&quot;: 42, # Required. The zero-based index of the channel in the input audio stream.
+                  &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+                  &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+                  &quot;outputChannel&quot;: 42, # Required. The zero-based index of the channel in the output audio stream.
+                },
+              ],
+              &quot;sampleRateHertz&quot;: 42, # The audio sample rate in Hertz. The default is 48000 Hertz.
+            },
+            &quot;key&quot;: &quot;A String&quot;, # A unique key for this elementary stream.
+            &quot;textStream&quot;: { # Encoding of a text stream. For example, closed captions or subtitles. # Encoding of a text stream. For example, closed captions or subtitles.
+              &quot;codec&quot;: &quot;A String&quot;, # The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`
+              &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+                { # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+                  &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.
+                  &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+                  &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+                },
+              ],
+            },
+            &quot;videoStream&quot;: { # Video stream resource. # Encoding of a video stream.
+              &quot;h264&quot;: { # H264 codec settings. # H264 codec settings.
+                &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+                &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+                &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+                &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+                &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+                &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+                &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+                &quot;entropyCoder&quot;: &quot;A String&quot;, # The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`
+                &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+                &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+                &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+                &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+                &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+                &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+                &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+                &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+                &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+                &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+                &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+                &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+              },
+              &quot;h265&quot;: { # H265 codec settings. # H265 codec settings.
+                &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+                &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+                &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+                &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+                &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+                &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+                &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+                &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+                &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+                &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+                &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+                &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+                &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+                &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+                &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+                &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+                &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+                &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+                &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+              },
+              &quot;vp9&quot;: { # VP9 codec settings. # VP9 codec settings.
+                &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.
+                &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+                &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+                &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+                &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+                &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+                &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+                &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
+                &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+                &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+              },
+            },
+          },
+        ],
+        &quot;inputs&quot;: [ # List of input assets stored in Cloud Storage.
+          { # Input asset.
+            &quot;key&quot;: &quot;A String&quot;, # A unique key for this input. Must be specified when using advanced mapping and edit lists.
+            &quot;preprocessingConfig&quot;: { # Preprocessing configurations. # Preprocessing configurations.
+              &quot;audio&quot;: { # Audio preprocessing configuration. # Audio preprocessing configuration.
+                &quot;highBoost&quot;: True or False, # Enable boosting high frequency components. The default is `false`.
+                &quot;lowBoost&quot;: True or False, # Enable boosting low frequency components. The default is `false`.
+                &quot;lufs&quot;: 3.14, # Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization
+              },
+              &quot;color&quot;: { # Color preprocessing configuration. # Color preprocessing configuration.
+                &quot;brightness&quot;: 3.14, # Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.
+                &quot;contrast&quot;: 3.14, # Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.
+                &quot;saturation&quot;: 3.14, # Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.
+              },
+              &quot;crop&quot;: { # Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution. # Specify the video cropping configuration.
+                &quot;bottomPixels&quot;: 42, # The number of pixels to crop from the bottom. The default is 0.
+                &quot;leftPixels&quot;: 42, # The number of pixels to crop from the left. The default is 0.
+                &quot;rightPixels&quot;: 42, # The number of pixels to crop from the right. The default is 0.
+                &quot;topPixels&quot;: 42, # The number of pixels to crop from the top. The default is 0.
+              },
+              &quot;deblock&quot;: { # Deblock preprocessing configuration. # Deblock preprocessing configuration.
+                &quot;enabled&quot;: True or False, # Enable deblocker. The default is `false`.
+                &quot;strength&quot;: 3.14, # Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.
+              },
+              &quot;denoise&quot;: { # Denoise preprocessing configuration. # Denoise preprocessing configuration.
+                &quot;strength&quot;: 3.14, # Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.
+                &quot;tune&quot;: &quot;A String&quot;, # Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`
+              },
+              &quot;pad&quot;: { # Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution. # Specify the video pad filter configuration.
+                &quot;bottomPixels&quot;: 42, # The number of pixels to add to the bottom. The default is 0.
+                &quot;leftPixels&quot;: 42, # The number of pixels to add to the left. The default is 0.
+                &quot;rightPixels&quot;: 42, # The number of pixels to add to the right. The default is 0.
+                &quot;topPixels&quot;: 42, # The number of pixels to add to the top. The default is 0.
+              },
+            },
+            &quot;uri&quot;: &quot;A String&quot;, # URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.
+          },
+        ],
+        &quot;manifests&quot;: [ # List of output manifests.
+          { # Manifest configuration.
+            &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.
+            &quot;muxStreams&quot;: [ # Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.
+              &quot;A String&quot;,
+            ],
+            &quot;type&quot;: &quot;A String&quot;, # Required. Type of the manifest, can be `HLS` or `DASH`.
+          },
+        ],
+        &quot;muxStreams&quot;: [ # List of multiplexing settings for output streams.
+          { # Multiplexing settings for output stream.
+            &quot;container&quot;: &quot;A String&quot;, # The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`
+            &quot;elementaryStreams&quot;: [ # List of `ElementaryStream.key`s multiplexed in this stream.
+              &quot;A String&quot;,
+            ],
+            &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.
+            &quot;key&quot;: &quot;A String&quot;, # A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.
+            &quot;segmentSettings&quot;: { # Segment settings for `ts`, `fmp4` and `vtt`. # Segment settings for `ts`, `fmp4` and `vtt`.
+              &quot;individualSegments&quot;: True or False, # Required. Create an individual segment file. The default is `false`.
+              &quot;segmentDuration&quot;: &quot;A String&quot;, # Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).
+            },
+          },
+        ],
+        &quot;output&quot;: { # Location of output file(s) in a Cloud Storage bucket. # Output configuration.
+          &quot;uri&quot;: &quot;A String&quot;, # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.
+        },
+        &quot;overlays&quot;: [ # List of overlays on the output video, in descending Z-order.
+          { # Overlay configuration.
+            &quot;animations&quot;: [ # List of Animations. The list should be chronological, without any time overlap.
+              { # Animation types.
+                &quot;animationEnd&quot;: { # End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video. # End previous animation.
+                  &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to end overlay object, in seconds. Default: 0
+                },
+                &quot;animationFade&quot;: { # Display overlay object with fade animation. # Display overlay object with fade animation.
+                  &quot;endTimeOffset&quot;: &quot;A String&quot;, # The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s
+                  &quot;fadeType&quot;: &quot;A String&quot;, # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
+                  &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start the fade animation, in seconds. Default: 0
+                  &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                    &quot;x&quot;: 3.14, # Normalized x coordinate.
+                    &quot;y&quot;: 3.14, # Normalized y coordinate.
+                  },
+                },
+                &quot;animationStatic&quot;: { # Display static overlay object. # Display static overlay object.
+                  &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start displaying the overlay object, in seconds. Default: 0
+                  &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                    &quot;x&quot;: 3.14, # Normalized x coordinate.
+                    &quot;y&quot;: 3.14, # Normalized y coordinate.
+                  },
+                },
+              },
+            ],
+            &quot;image&quot;: { # Overlaid jpeg image. # Image overlay.
+              &quot;alpha&quot;: 3.14, # Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.
+              &quot;resolution&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized image resolution, based on output video resolution. Valid values: `0.0`–`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+              &quot;uri&quot;: &quot;A String&quot;, # Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.
+            },
+          },
+        ],
+        &quot;pubsubDestination&quot;: { # A Pub/Sub destination. # Destination on Pub/Sub.
+          &quot;topic&quot;: &quot;A String&quot;, # The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.
+        },
+        &quot;spriteSheets&quot;: [ # List of output sprite sheets.
+          { # Sprite sheet configuration.
+            &quot;columnCount&quot;: 42, # The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.
+            &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.
+            &quot;filePrefix&quot;: &quot;A String&quot;, # Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+            &quot;format&quot;: &quot;A String&quot;, # Format type. The default is `jpeg`. Supported formats: - `jpeg`
+            &quot;interval&quot;: &quot;A String&quot;, # Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.
+            &quot;quality&quot;: 42, # The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
+            &quot;rowCount&quot;: 42, # The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.
+            &quot;spriteHeightPixels&quot;: 42, # Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).
+            &quot;spriteWidthPixels&quot;: 42, # Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).
+            &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.
+            &quot;totalCount&quot;: 42, # Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.
+          },
+        ],
+      },
+      &quot;name&quot;: &quot;A String&quot;, # The resource name of the job template. Format: `projects/{project_number}/locations/{location}/jobTemplates/{job_template}`
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token.
+  &quot;unreachable&quot;: [ # List of regions that could not be reached.
+    &quot;A String&quot;,
+  ],
+}</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/transcoder_v1.projects.locations.jobs.html b/docs/dyn/transcoder_v1.projects.locations.jobs.html
new file mode 100644
index 0000000..6b131be
--- /dev/null
+++ b/docs/dyn/transcoder_v1.projects.locations.jobs.html
@@ -0,0 +1,1178 @@
+<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="transcoder_v1.html">Transcoder API</a> . <a href="transcoder_v1.projects.html">projects</a> . <a href="transcoder_v1.projects.locations.html">locations</a> . <a href="transcoder_v1.projects.locations.jobs.html">jobs</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 job in the specified region.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, allowMissing=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a job.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the job data.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists jobs in the specified region.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<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 job in the specified region.
+
+Args:
+  parent: string, Required. The parent location to create and process this job. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Transcoding job resource.
+  &quot;config&quot;: { # Job configuration # The configuration for this job.
+    &quot;adBreaks&quot;: [ # List of ad breaks. Specifies where to insert ad break tags in the output manifests.
+      { # Ad break.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.
+      },
+    ],
+    &quot;editList&quot;: [ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.
+      { # Edit atom.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.
+        &quot;inputs&quot;: [ # List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.
+          &quot;A String&quot;,
+        ],
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this atom. Must be specified when using advanced mapping.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.
+      },
+    ],
+    &quot;elementaryStreams&quot;: [ # List of elementary streams.
+      { # Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.
+        &quot;audioStream&quot;: { # Audio stream resource. # Encoding of an audio stream.
+          &quot;bitrateBps&quot;: 42, # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+          &quot;channelCount&quot;: 42, # Number of audio channels. Must be between 1 and 6. The default is 2.
+          &quot;channelLayout&quot;: [ # A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[&quot;fl&quot;, &quot;fr&quot;]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency
+            &quot;A String&quot;,
+          ],
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.
+              &quot;gainDb&quot;: 3.14, # Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
+              &quot;inputChannel&quot;: 42, # Required. The zero-based index of the channel in the input audio stream.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+              &quot;outputChannel&quot;: 42, # Required. The zero-based index of the channel in the output audio stream.
+            },
+          ],
+          &quot;sampleRateHertz&quot;: 42, # The audio sample rate in Hertz. The default is 48000 Hertz.
+        },
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this elementary stream.
+        &quot;textStream&quot;: { # Encoding of a text stream. For example, closed captions or subtitles. # Encoding of a text stream. For example, closed captions or subtitles.
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+            },
+          ],
+        },
+        &quot;videoStream&quot;: { # Video stream resource. # Encoding of a video stream.
+          &quot;h264&quot;: { # H264 codec settings. # H264 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;entropyCoder&quot;: &quot;A String&quot;, # The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;h265&quot;: { # H265 codec settings. # H265 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;vp9&quot;: { # VP9 codec settings. # VP9 codec settings.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+        },
+      },
+    ],
+    &quot;inputs&quot;: [ # List of input assets stored in Cloud Storage.
+      { # Input asset.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this input. Must be specified when using advanced mapping and edit lists.
+        &quot;preprocessingConfig&quot;: { # Preprocessing configurations. # Preprocessing configurations.
+          &quot;audio&quot;: { # Audio preprocessing configuration. # Audio preprocessing configuration.
+            &quot;highBoost&quot;: True or False, # Enable boosting high frequency components. The default is `false`.
+            &quot;lowBoost&quot;: True or False, # Enable boosting low frequency components. The default is `false`.
+            &quot;lufs&quot;: 3.14, # Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization
+          },
+          &quot;color&quot;: { # Color preprocessing configuration. # Color preprocessing configuration.
+            &quot;brightness&quot;: 3.14, # Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.
+            &quot;contrast&quot;: 3.14, # Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.
+            &quot;saturation&quot;: 3.14, # Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.
+          },
+          &quot;crop&quot;: { # Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution. # Specify the video cropping configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to crop from the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to crop from the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to crop from the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to crop from the top. The default is 0.
+          },
+          &quot;deblock&quot;: { # Deblock preprocessing configuration. # Deblock preprocessing configuration.
+            &quot;enabled&quot;: True or False, # Enable deblocker. The default is `false`.
+            &quot;strength&quot;: 3.14, # Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.
+          },
+          &quot;denoise&quot;: { # Denoise preprocessing configuration. # Denoise preprocessing configuration.
+            &quot;strength&quot;: 3.14, # Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.
+            &quot;tune&quot;: &quot;A String&quot;, # Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`
+          },
+          &quot;pad&quot;: { # Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution. # Specify the video pad filter configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to add to the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to add to the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to add to the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to add to the top. The default is 0.
+          },
+        },
+        &quot;uri&quot;: &quot;A String&quot;, # URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.
+      },
+    ],
+    &quot;manifests&quot;: [ # List of output manifests.
+      { # Manifest configuration.
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.
+        &quot;muxStreams&quot;: [ # Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.
+          &quot;A String&quot;,
+        ],
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of the manifest, can be `HLS` or `DASH`.
+      },
+    ],
+    &quot;muxStreams&quot;: [ # List of multiplexing settings for output streams.
+      { # Multiplexing settings for output stream.
+        &quot;container&quot;: &quot;A String&quot;, # The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`
+        &quot;elementaryStreams&quot;: [ # List of `ElementaryStream.key`s multiplexed in this stream.
+          &quot;A String&quot;,
+        ],
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.
+        &quot;segmentSettings&quot;: { # Segment settings for `ts`, `fmp4` and `vtt`. # Segment settings for `ts`, `fmp4` and `vtt`.
+          &quot;individualSegments&quot;: True or False, # Required. Create an individual segment file. The default is `false`.
+          &quot;segmentDuration&quot;: &quot;A String&quot;, # Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).
+        },
+      },
+    ],
+    &quot;output&quot;: { # Location of output file(s) in a Cloud Storage bucket. # Output configuration.
+      &quot;uri&quot;: &quot;A String&quot;, # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.
+    },
+    &quot;overlays&quot;: [ # List of overlays on the output video, in descending Z-order.
+      { # Overlay configuration.
+        &quot;animations&quot;: [ # List of Animations. The list should be chronological, without any time overlap.
+          { # Animation types.
+            &quot;animationEnd&quot;: { # End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video. # End previous animation.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to end overlay object, in seconds. Default: 0
+            },
+            &quot;animationFade&quot;: { # Display overlay object with fade animation. # Display overlay object with fade animation.
+              &quot;endTimeOffset&quot;: &quot;A String&quot;, # The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s
+              &quot;fadeType&quot;: &quot;A String&quot;, # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start the fade animation, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+            &quot;animationStatic&quot;: { # Display static overlay object. # Display static overlay object.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start displaying the overlay object, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+          },
+        ],
+        &quot;image&quot;: { # Overlaid jpeg image. # Image overlay.
+          &quot;alpha&quot;: 3.14, # Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.
+          &quot;resolution&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized image resolution, based on output video resolution. Valid values: `0.0`–`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`.
+            &quot;x&quot;: 3.14, # Normalized x coordinate.
+            &quot;y&quot;: 3.14, # Normalized y coordinate.
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.
+        },
+      },
+    ],
+    &quot;pubsubDestination&quot;: { # A Pub/Sub destination. # Destination on Pub/Sub.
+      &quot;topic&quot;: &quot;A String&quot;, # The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.
+    },
+    &quot;spriteSheets&quot;: [ # List of output sprite sheets.
+      { # Sprite sheet configuration.
+        &quot;columnCount&quot;: 42, # The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.
+        &quot;filePrefix&quot;: &quot;A String&quot;, # Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+        &quot;format&quot;: &quot;A String&quot;, # Format type. The default is `jpeg`. Supported formats: - `jpeg`
+        &quot;interval&quot;: &quot;A String&quot;, # Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.
+        &quot;quality&quot;: 42, # The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
+        &quot;rowCount&quot;: 42, # The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.
+        &quot;spriteHeightPixels&quot;: 42, # Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;spriteWidthPixels&quot;: 42, # Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.
+        &quot;totalCount&quot;: 42, # Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.
+      },
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the job was created.
+  &quot;endTime&quot;: &quot;A String&quot;, # Output only. The time the transcoding finished.
+  &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). # Output only. An error object that describes the reason for the failure. This property is always present when `state` is `FAILED`.
+    &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;inputUri&quot;: &quot;A String&quot;, # Input only. Specify the `input_uri` to populate empty `uri` fields in each element of `Job.config.inputs` or `JobTemplate.config.inputs` when using template. URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`).
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the job. Format: `projects/{project_number}/locations/{location}/jobs/{job}`
+  &quot;outputUri&quot;: &quot;A String&quot;, # Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or `JobTemplate.config.output.uri` when using template. URI for the output file(s). For example, `gs://my-bucket/outputs/`.
+  &quot;startTime&quot;: &quot;A String&quot;, # Output only. The time the transcoding started.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the job.
+  &quot;templateId&quot;: &quot;A String&quot;, # Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`. Preset Transcoder templates: - `preset/{preset_id}` - User defined JobTemplate: `{job_template_id}`
+  &quot;ttlAfterCompletionDays&quot;: 42, # Job time to live value in days, which will be effective after job completion. Job should be deleted automatically after the given TTL. Enter a value between 1 and 90. The default is 30.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Transcoding job resource.
+  &quot;config&quot;: { # Job configuration # The configuration for this job.
+    &quot;adBreaks&quot;: [ # List of ad breaks. Specifies where to insert ad break tags in the output manifests.
+      { # Ad break.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.
+      },
+    ],
+    &quot;editList&quot;: [ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.
+      { # Edit atom.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.
+        &quot;inputs&quot;: [ # List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.
+          &quot;A String&quot;,
+        ],
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this atom. Must be specified when using advanced mapping.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.
+      },
+    ],
+    &quot;elementaryStreams&quot;: [ # List of elementary streams.
+      { # Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.
+        &quot;audioStream&quot;: { # Audio stream resource. # Encoding of an audio stream.
+          &quot;bitrateBps&quot;: 42, # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+          &quot;channelCount&quot;: 42, # Number of audio channels. Must be between 1 and 6. The default is 2.
+          &quot;channelLayout&quot;: [ # A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[&quot;fl&quot;, &quot;fr&quot;]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency
+            &quot;A String&quot;,
+          ],
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.
+              &quot;gainDb&quot;: 3.14, # Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
+              &quot;inputChannel&quot;: 42, # Required. The zero-based index of the channel in the input audio stream.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+              &quot;outputChannel&quot;: 42, # Required. The zero-based index of the channel in the output audio stream.
+            },
+          ],
+          &quot;sampleRateHertz&quot;: 42, # The audio sample rate in Hertz. The default is 48000 Hertz.
+        },
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this elementary stream.
+        &quot;textStream&quot;: { # Encoding of a text stream. For example, closed captions or subtitles. # Encoding of a text stream. For example, closed captions or subtitles.
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+            },
+          ],
+        },
+        &quot;videoStream&quot;: { # Video stream resource. # Encoding of a video stream.
+          &quot;h264&quot;: { # H264 codec settings. # H264 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;entropyCoder&quot;: &quot;A String&quot;, # The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;h265&quot;: { # H265 codec settings. # H265 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;vp9&quot;: { # VP9 codec settings. # VP9 codec settings.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+        },
+      },
+    ],
+    &quot;inputs&quot;: [ # List of input assets stored in Cloud Storage.
+      { # Input asset.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this input. Must be specified when using advanced mapping and edit lists.
+        &quot;preprocessingConfig&quot;: { # Preprocessing configurations. # Preprocessing configurations.
+          &quot;audio&quot;: { # Audio preprocessing configuration. # Audio preprocessing configuration.
+            &quot;highBoost&quot;: True or False, # Enable boosting high frequency components. The default is `false`.
+            &quot;lowBoost&quot;: True or False, # Enable boosting low frequency components. The default is `false`.
+            &quot;lufs&quot;: 3.14, # Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization
+          },
+          &quot;color&quot;: { # Color preprocessing configuration. # Color preprocessing configuration.
+            &quot;brightness&quot;: 3.14, # Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.
+            &quot;contrast&quot;: 3.14, # Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.
+            &quot;saturation&quot;: 3.14, # Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.
+          },
+          &quot;crop&quot;: { # Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution. # Specify the video cropping configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to crop from the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to crop from the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to crop from the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to crop from the top. The default is 0.
+          },
+          &quot;deblock&quot;: { # Deblock preprocessing configuration. # Deblock preprocessing configuration.
+            &quot;enabled&quot;: True or False, # Enable deblocker. The default is `false`.
+            &quot;strength&quot;: 3.14, # Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.
+          },
+          &quot;denoise&quot;: { # Denoise preprocessing configuration. # Denoise preprocessing configuration.
+            &quot;strength&quot;: 3.14, # Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.
+            &quot;tune&quot;: &quot;A String&quot;, # Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`
+          },
+          &quot;pad&quot;: { # Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution. # Specify the video pad filter configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to add to the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to add to the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to add to the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to add to the top. The default is 0.
+          },
+        },
+        &quot;uri&quot;: &quot;A String&quot;, # URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.
+      },
+    ],
+    &quot;manifests&quot;: [ # List of output manifests.
+      { # Manifest configuration.
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.
+        &quot;muxStreams&quot;: [ # Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.
+          &quot;A String&quot;,
+        ],
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of the manifest, can be `HLS` or `DASH`.
+      },
+    ],
+    &quot;muxStreams&quot;: [ # List of multiplexing settings for output streams.
+      { # Multiplexing settings for output stream.
+        &quot;container&quot;: &quot;A String&quot;, # The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`
+        &quot;elementaryStreams&quot;: [ # List of `ElementaryStream.key`s multiplexed in this stream.
+          &quot;A String&quot;,
+        ],
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.
+        &quot;segmentSettings&quot;: { # Segment settings for `ts`, `fmp4` and `vtt`. # Segment settings for `ts`, `fmp4` and `vtt`.
+          &quot;individualSegments&quot;: True or False, # Required. Create an individual segment file. The default is `false`.
+          &quot;segmentDuration&quot;: &quot;A String&quot;, # Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).
+        },
+      },
+    ],
+    &quot;output&quot;: { # Location of output file(s) in a Cloud Storage bucket. # Output configuration.
+      &quot;uri&quot;: &quot;A String&quot;, # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.
+    },
+    &quot;overlays&quot;: [ # List of overlays on the output video, in descending Z-order.
+      { # Overlay configuration.
+        &quot;animations&quot;: [ # List of Animations. The list should be chronological, without any time overlap.
+          { # Animation types.
+            &quot;animationEnd&quot;: { # End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video. # End previous animation.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to end overlay object, in seconds. Default: 0
+            },
+            &quot;animationFade&quot;: { # Display overlay object with fade animation. # Display overlay object with fade animation.
+              &quot;endTimeOffset&quot;: &quot;A String&quot;, # The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s
+              &quot;fadeType&quot;: &quot;A String&quot;, # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start the fade animation, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+            &quot;animationStatic&quot;: { # Display static overlay object. # Display static overlay object.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start displaying the overlay object, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+          },
+        ],
+        &quot;image&quot;: { # Overlaid jpeg image. # Image overlay.
+          &quot;alpha&quot;: 3.14, # Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.
+          &quot;resolution&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized image resolution, based on output video resolution. Valid values: `0.0`–`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`.
+            &quot;x&quot;: 3.14, # Normalized x coordinate.
+            &quot;y&quot;: 3.14, # Normalized y coordinate.
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.
+        },
+      },
+    ],
+    &quot;pubsubDestination&quot;: { # A Pub/Sub destination. # Destination on Pub/Sub.
+      &quot;topic&quot;: &quot;A String&quot;, # The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.
+    },
+    &quot;spriteSheets&quot;: [ # List of output sprite sheets.
+      { # Sprite sheet configuration.
+        &quot;columnCount&quot;: 42, # The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.
+        &quot;filePrefix&quot;: &quot;A String&quot;, # Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+        &quot;format&quot;: &quot;A String&quot;, # Format type. The default is `jpeg`. Supported formats: - `jpeg`
+        &quot;interval&quot;: &quot;A String&quot;, # Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.
+        &quot;quality&quot;: 42, # The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
+        &quot;rowCount&quot;: 42, # The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.
+        &quot;spriteHeightPixels&quot;: 42, # Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;spriteWidthPixels&quot;: 42, # Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.
+        &quot;totalCount&quot;: 42, # Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.
+      },
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the job was created.
+  &quot;endTime&quot;: &quot;A String&quot;, # Output only. The time the transcoding finished.
+  &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). # Output only. An error object that describes the reason for the failure. This property is always present when `state` is `FAILED`.
+    &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;inputUri&quot;: &quot;A String&quot;, # Input only. Specify the `input_uri` to populate empty `uri` fields in each element of `Job.config.inputs` or `JobTemplate.config.inputs` when using template. URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`).
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the job. Format: `projects/{project_number}/locations/{location}/jobs/{job}`
+  &quot;outputUri&quot;: &quot;A String&quot;, # Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or `JobTemplate.config.output.uri` when using template. URI for the output file(s). For example, `gs://my-bucket/outputs/`.
+  &quot;startTime&quot;: &quot;A String&quot;, # Output only. The time the transcoding started.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the job.
+  &quot;templateId&quot;: &quot;A String&quot;, # Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`. Preset Transcoder templates: - `preset/{preset_id}` - User defined JobTemplate: `{job_template_id}`
+  &quot;ttlAfterCompletionDays&quot;: 42, # Job time to live value in days, which will be effective after job completion. Job should be deleted automatically after the given TTL. Enter a value between 1 and 90. The default is 30.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, allowMissing=None, x__xgafv=None)</code>
+  <pre>Deletes a job.
+
+Args:
+  name: string, Required. The name of the job to delete. Format: `projects/{project}/locations/{location}/jobs/{job}` (required)
+  allowMissing: boolean, If set to true, and the job is not found, the request will succeed but no action will be taken on the server.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Returns the job data.
+
+Args:
+  name: string, Required. The name of the job to retrieve. Format: `projects/{project}/locations/{location}/jobs/{job}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Transcoding job resource.
+  &quot;config&quot;: { # Job configuration # The configuration for this job.
+    &quot;adBreaks&quot;: [ # List of ad breaks. Specifies where to insert ad break tags in the output manifests.
+      { # Ad break.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.
+      },
+    ],
+    &quot;editList&quot;: [ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.
+      { # Edit atom.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.
+        &quot;inputs&quot;: [ # List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.
+          &quot;A String&quot;,
+        ],
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this atom. Must be specified when using advanced mapping.
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.
+      },
+    ],
+    &quot;elementaryStreams&quot;: [ # List of elementary streams.
+      { # Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.
+        &quot;audioStream&quot;: { # Audio stream resource. # Encoding of an audio stream.
+          &quot;bitrateBps&quot;: 42, # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+          &quot;channelCount&quot;: 42, # Number of audio channels. Must be between 1 and 6. The default is 2.
+          &quot;channelLayout&quot;: [ # A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[&quot;fl&quot;, &quot;fr&quot;]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency
+            &quot;A String&quot;,
+          ],
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.
+              &quot;gainDb&quot;: 3.14, # Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
+              &quot;inputChannel&quot;: 42, # Required. The zero-based index of the channel in the input audio stream.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+              &quot;outputChannel&quot;: 42, # Required. The zero-based index of the channel in the output audio stream.
+            },
+          ],
+          &quot;sampleRateHertz&quot;: 42, # The audio sample rate in Hertz. The default is 48000 Hertz.
+        },
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this elementary stream.
+        &quot;textStream&quot;: { # Encoding of a text stream. For example, closed captions or subtitles. # Encoding of a text stream. For example, closed captions or subtitles.
+          &quot;codec&quot;: &quot;A String&quot;, # The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`
+          &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+            { # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+              &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.
+              &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+              &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+            },
+          ],
+        },
+        &quot;videoStream&quot;: { # Video stream resource. # Encoding of a video stream.
+          &quot;h264&quot;: { # H264 codec settings. # H264 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;entropyCoder&quot;: &quot;A String&quot;, # The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;h265&quot;: { # H265 codec settings. # H265 codec settings.
+            &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+            &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+            &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+            &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+            &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+            &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+          &quot;vp9&quot;: { # VP9 codec settings. # VP9 codec settings.
+            &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.
+            &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+            &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+            &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+            &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+            &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+            &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+            &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
+            &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+            &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+          },
+        },
+      },
+    ],
+    &quot;inputs&quot;: [ # List of input assets stored in Cloud Storage.
+      { # Input asset.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this input. Must be specified when using advanced mapping and edit lists.
+        &quot;preprocessingConfig&quot;: { # Preprocessing configurations. # Preprocessing configurations.
+          &quot;audio&quot;: { # Audio preprocessing configuration. # Audio preprocessing configuration.
+            &quot;highBoost&quot;: True or False, # Enable boosting high frequency components. The default is `false`.
+            &quot;lowBoost&quot;: True or False, # Enable boosting low frequency components. The default is `false`.
+            &quot;lufs&quot;: 3.14, # Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization
+          },
+          &quot;color&quot;: { # Color preprocessing configuration. # Color preprocessing configuration.
+            &quot;brightness&quot;: 3.14, # Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.
+            &quot;contrast&quot;: 3.14, # Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.
+            &quot;saturation&quot;: 3.14, # Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.
+          },
+          &quot;crop&quot;: { # Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution. # Specify the video cropping configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to crop from the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to crop from the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to crop from the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to crop from the top. The default is 0.
+          },
+          &quot;deblock&quot;: { # Deblock preprocessing configuration. # Deblock preprocessing configuration.
+            &quot;enabled&quot;: True or False, # Enable deblocker. The default is `false`.
+            &quot;strength&quot;: 3.14, # Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.
+          },
+          &quot;denoise&quot;: { # Denoise preprocessing configuration. # Denoise preprocessing configuration.
+            &quot;strength&quot;: 3.14, # Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.
+            &quot;tune&quot;: &quot;A String&quot;, # Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`
+          },
+          &quot;pad&quot;: { # Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution. # Specify the video pad filter configuration.
+            &quot;bottomPixels&quot;: 42, # The number of pixels to add to the bottom. The default is 0.
+            &quot;leftPixels&quot;: 42, # The number of pixels to add to the left. The default is 0.
+            &quot;rightPixels&quot;: 42, # The number of pixels to add to the right. The default is 0.
+            &quot;topPixels&quot;: 42, # The number of pixels to add to the top. The default is 0.
+          },
+        },
+        &quot;uri&quot;: &quot;A String&quot;, # URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.
+      },
+    ],
+    &quot;manifests&quot;: [ # List of output manifests.
+      { # Manifest configuration.
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.
+        &quot;muxStreams&quot;: [ # Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.
+          &quot;A String&quot;,
+        ],
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of the manifest, can be `HLS` or `DASH`.
+      },
+    ],
+    &quot;muxStreams&quot;: [ # List of multiplexing settings for output streams.
+      { # Multiplexing settings for output stream.
+        &quot;container&quot;: &quot;A String&quot;, # The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`
+        &quot;elementaryStreams&quot;: [ # List of `ElementaryStream.key`s multiplexed in this stream.
+          &quot;A String&quot;,
+        ],
+        &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.
+        &quot;key&quot;: &quot;A String&quot;, # A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.
+        &quot;segmentSettings&quot;: { # Segment settings for `ts`, `fmp4` and `vtt`. # Segment settings for `ts`, `fmp4` and `vtt`.
+          &quot;individualSegments&quot;: True or False, # Required. Create an individual segment file. The default is `false`.
+          &quot;segmentDuration&quot;: &quot;A String&quot;, # Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).
+        },
+      },
+    ],
+    &quot;output&quot;: { # Location of output file(s) in a Cloud Storage bucket. # Output configuration.
+      &quot;uri&quot;: &quot;A String&quot;, # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.
+    },
+    &quot;overlays&quot;: [ # List of overlays on the output video, in descending Z-order.
+      { # Overlay configuration.
+        &quot;animations&quot;: [ # List of Animations. The list should be chronological, without any time overlap.
+          { # Animation types.
+            &quot;animationEnd&quot;: { # End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video. # End previous animation.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to end overlay object, in seconds. Default: 0
+            },
+            &quot;animationFade&quot;: { # Display overlay object with fade animation. # Display overlay object with fade animation.
+              &quot;endTimeOffset&quot;: &quot;A String&quot;, # The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s
+              &quot;fadeType&quot;: &quot;A String&quot;, # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start the fade animation, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+            &quot;animationStatic&quot;: { # Display static overlay object. # Display static overlay object.
+              &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start displaying the overlay object, in seconds. Default: 0
+              &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+            },
+          },
+        ],
+        &quot;image&quot;: { # Overlaid jpeg image. # Image overlay.
+          &quot;alpha&quot;: 3.14, # Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.
+          &quot;resolution&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized image resolution, based on output video resolution. Valid values: `0.0`–`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`.
+            &quot;x&quot;: 3.14, # Normalized x coordinate.
+            &quot;y&quot;: 3.14, # Normalized y coordinate.
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.
+        },
+      },
+    ],
+    &quot;pubsubDestination&quot;: { # A Pub/Sub destination. # Destination on Pub/Sub.
+      &quot;topic&quot;: &quot;A String&quot;, # The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.
+    },
+    &quot;spriteSheets&quot;: [ # List of output sprite sheets.
+      { # Sprite sheet configuration.
+        &quot;columnCount&quot;: 42, # The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.
+        &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.
+        &quot;filePrefix&quot;: &quot;A String&quot;, # Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+        &quot;format&quot;: &quot;A String&quot;, # Format type. The default is `jpeg`. Supported formats: - `jpeg`
+        &quot;interval&quot;: &quot;A String&quot;, # Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.
+        &quot;quality&quot;: 42, # The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
+        &quot;rowCount&quot;: 42, # The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.
+        &quot;spriteHeightPixels&quot;: 42, # Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;spriteWidthPixels&quot;: 42, # Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).
+        &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.
+        &quot;totalCount&quot;: 42, # Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.
+      },
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the job was created.
+  &quot;endTime&quot;: &quot;A String&quot;, # Output only. The time the transcoding finished.
+  &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). # Output only. An error object that describes the reason for the failure. This property is always present when `state` is `FAILED`.
+    &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;inputUri&quot;: &quot;A String&quot;, # Input only. Specify the `input_uri` to populate empty `uri` fields in each element of `Job.config.inputs` or `JobTemplate.config.inputs` when using template. URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`).
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the job. Format: `projects/{project_number}/locations/{location}/jobs/{job}`
+  &quot;outputUri&quot;: &quot;A String&quot;, # Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or `JobTemplate.config.output.uri` when using template. URI for the output file(s). For example, `gs://my-bucket/outputs/`.
+  &quot;startTime&quot;: &quot;A String&quot;, # Output only. The time the transcoding started.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the job.
+  &quot;templateId&quot;: &quot;A String&quot;, # Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`. Preset Transcoder templates: - `preset/{preset_id}` - User defined JobTemplate: `{job_template_id}`
+  &quot;ttlAfterCompletionDays&quot;: 42, # Job time to live value in days, which will be effective after job completion. Job should be deleted automatically after the given TTL. Enter a value between 1 and 90. The default is 30.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists jobs in the specified region.
+
+Args:
+  parent: string, Required. Format: `projects/{project}/locations/{location}` (required)
+  filter: string, The filter expression, following the syntax outlined in https://google.aip.dev/160.
+  orderBy: string, One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.
+  pageSize: integer, The maximum number of items to return.
+  pageToken: string, The `next_page_token` value returned from a previous List request, if any.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TranscoderService.ListJobs`.
+  &quot;jobs&quot;: [ # List of jobs in the specified region.
+    { # Transcoding job resource.
+      &quot;config&quot;: { # Job configuration # The configuration for this job.
+        &quot;adBreaks&quot;: [ # List of ad breaks. Specifies where to insert ad break tags in the output manifests.
+          { # Ad break.
+            &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.
+          },
+        ],
+        &quot;editList&quot;: [ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.
+          { # Edit atom.
+            &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.
+            &quot;inputs&quot;: [ # List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.
+              &quot;A String&quot;,
+            ],
+            &quot;key&quot;: &quot;A String&quot;, # A unique key for this atom. Must be specified when using advanced mapping.
+            &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.
+          },
+        ],
+        &quot;elementaryStreams&quot;: [ # List of elementary streams.
+          { # Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.
+            &quot;audioStream&quot;: { # Audio stream resource. # Encoding of an audio stream.
+              &quot;bitrateBps&quot;: 42, # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+              &quot;channelCount&quot;: 42, # Number of audio channels. Must be between 1 and 6. The default is 2.
+              &quot;channelLayout&quot;: [ # A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[&quot;fl&quot;, &quot;fr&quot;]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency
+                &quot;A String&quot;,
+              ],
+              &quot;codec&quot;: &quot;A String&quot;, # The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`
+              &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+                { # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
+                  &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.
+                  &quot;gainDb&quot;: 3.14, # Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
+                  &quot;inputChannel&quot;: 42, # Required. The zero-based index of the channel in the input audio stream.
+                  &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+                  &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+                  &quot;outputChannel&quot;: 42, # Required. The zero-based index of the channel in the output audio stream.
+                },
+              ],
+              &quot;sampleRateHertz&quot;: 42, # The audio sample rate in Hertz. The default is 48000 Hertz.
+            },
+            &quot;key&quot;: &quot;A String&quot;, # A unique key for this elementary stream.
+            &quot;textStream&quot;: { # Encoding of a text stream. For example, closed captions or subtitles. # Encoding of a text stream. For example, closed captions or subtitles.
+              &quot;codec&quot;: &quot;A String&quot;, # The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`
+              &quot;mapping&quot;: [ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+                { # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
+                  &quot;atomKey&quot;: &quot;A String&quot;, # Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.
+                  &quot;inputKey&quot;: &quot;A String&quot;, # Required. The `Input.key` that identifies the input file.
+                  &quot;inputTrack&quot;: 42, # Required. The zero-based index of the track in the input file.
+                },
+              ],
+            },
+            &quot;videoStream&quot;: { # Video stream resource. # Encoding of a video stream.
+              &quot;h264&quot;: { # H264 codec settings. # H264 codec settings.
+                &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+                &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+                &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+                &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+                &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+                &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+                &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+                &quot;entropyCoder&quot;: &quot;A String&quot;, # The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`
+                &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+                &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+                &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+                &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+                &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+                &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+                &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+                &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+                &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.
+                &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+                &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+                &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+              },
+              &quot;h265&quot;: { # H265 codec settings. # H265 codec settings.
+                &quot;allowOpenGop&quot;: True or False, # Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.
+                &quot;aqStrength&quot;: 3.14, # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.
+                &quot;bFrameCount&quot;: 42, # The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
+                &quot;bPyramid&quot;: True or False, # Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.
+                &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.
+                &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+                &quot;enableTwoPass&quot;: True or False, # Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
+                &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+                &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+                &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+                &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+                &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+                &quot;preset&quot;: &quot;A String&quot;, # Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+                &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+                &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+                &quot;tune&quot;: &quot;A String&quot;, # Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.
+                &quot;vbvFullnessBits&quot;: 42, # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
+                &quot;vbvSizeBits&quot;: 42, # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.
+                &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+              },
+              &quot;vp9&quot;: { # VP9 codec settings. # VP9 codec settings.
+                &quot;bitrateBps&quot;: 42, # Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.
+                &quot;crfLevel&quot;: 42, # Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.
+                &quot;frameRate&quot;: 3.14, # Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.
+                &quot;gopDuration&quot;: &quot;A String&quot;, # Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
+                &quot;gopFrameCount&quot;: 42, # Select the GOP size based on the specified frame count. Must be greater than zero.
+                &quot;heightPixels&quot;: 42, # The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.
+                &quot;pixelFormat&quot;: &quot;A String&quot;, # Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format
+                &quot;profile&quot;: &quot;A String&quot;, # Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
+                &quot;rateControlMode&quot;: &quot;A String&quot;, # Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor
+                &quot;widthPixels&quot;: 42, # The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.
+              },
+            },
+          },
+        ],
+        &quot;inputs&quot;: [ # List of input assets stored in Cloud Storage.
+          { # Input asset.
+            &quot;key&quot;: &quot;A String&quot;, # A unique key for this input. Must be specified when using advanced mapping and edit lists.
+            &quot;preprocessingConfig&quot;: { # Preprocessing configurations. # Preprocessing configurations.
+              &quot;audio&quot;: { # Audio preprocessing configuration. # Audio preprocessing configuration.
+                &quot;highBoost&quot;: True or False, # Enable boosting high frequency components. The default is `false`.
+                &quot;lowBoost&quot;: True or False, # Enable boosting low frequency components. The default is `false`.
+                &quot;lufs&quot;: 3.14, # Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization
+              },
+              &quot;color&quot;: { # Color preprocessing configuration. # Color preprocessing configuration.
+                &quot;brightness&quot;: 3.14, # Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.
+                &quot;contrast&quot;: 3.14, # Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.
+                &quot;saturation&quot;: 3.14, # Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.
+              },
+              &quot;crop&quot;: { # Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution. # Specify the video cropping configuration.
+                &quot;bottomPixels&quot;: 42, # The number of pixels to crop from the bottom. The default is 0.
+                &quot;leftPixels&quot;: 42, # The number of pixels to crop from the left. The default is 0.
+                &quot;rightPixels&quot;: 42, # The number of pixels to crop from the right. The default is 0.
+                &quot;topPixels&quot;: 42, # The number of pixels to crop from the top. The default is 0.
+              },
+              &quot;deblock&quot;: { # Deblock preprocessing configuration. # Deblock preprocessing configuration.
+                &quot;enabled&quot;: True or False, # Enable deblocker. The default is `false`.
+                &quot;strength&quot;: 3.14, # Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.
+              },
+              &quot;denoise&quot;: { # Denoise preprocessing configuration. # Denoise preprocessing configuration.
+                &quot;strength&quot;: 3.14, # Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.
+                &quot;tune&quot;: &quot;A String&quot;, # Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`
+              },
+              &quot;pad&quot;: { # Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution. # Specify the video pad filter configuration.
+                &quot;bottomPixels&quot;: 42, # The number of pixels to add to the bottom. The default is 0.
+                &quot;leftPixels&quot;: 42, # The number of pixels to add to the left. The default is 0.
+                &quot;rightPixels&quot;: 42, # The number of pixels to add to the right. The default is 0.
+                &quot;topPixels&quot;: 42, # The number of pixels to add to the top. The default is 0.
+              },
+            },
+            &quot;uri&quot;: &quot;A String&quot;, # URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.
+          },
+        ],
+        &quot;manifests&quot;: [ # List of output manifests.
+          { # Manifest configuration.
+            &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.
+            &quot;muxStreams&quot;: [ # Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.
+              &quot;A String&quot;,
+            ],
+            &quot;type&quot;: &quot;A String&quot;, # Required. Type of the manifest, can be `HLS` or `DASH`.
+          },
+        ],
+        &quot;muxStreams&quot;: [ # List of multiplexing settings for output streams.
+          { # Multiplexing settings for output stream.
+            &quot;container&quot;: &quot;A String&quot;, # The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`
+            &quot;elementaryStreams&quot;: [ # List of `ElementaryStream.key`s multiplexed in this stream.
+              &quot;A String&quot;,
+            ],
+            &quot;fileName&quot;: &quot;A String&quot;, # The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.
+            &quot;key&quot;: &quot;A String&quot;, # A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.
+            &quot;segmentSettings&quot;: { # Segment settings for `ts`, `fmp4` and `vtt`. # Segment settings for `ts`, `fmp4` and `vtt`.
+              &quot;individualSegments&quot;: True or False, # Required. Create an individual segment file. The default is `false`.
+              &quot;segmentDuration&quot;: &quot;A String&quot;, # Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).
+            },
+          },
+        ],
+        &quot;output&quot;: { # Location of output file(s) in a Cloud Storage bucket. # Output configuration.
+          &quot;uri&quot;: &quot;A String&quot;, # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.
+        },
+        &quot;overlays&quot;: [ # List of overlays on the output video, in descending Z-order.
+          { # Overlay configuration.
+            &quot;animations&quot;: [ # List of Animations. The list should be chronological, without any time overlap.
+              { # Animation types.
+                &quot;animationEnd&quot;: { # End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video. # End previous animation.
+                  &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to end overlay object, in seconds. Default: 0
+                },
+                &quot;animationFade&quot;: { # Display overlay object with fade animation. # Display overlay object with fade animation.
+                  &quot;endTimeOffset&quot;: &quot;A String&quot;, # The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s
+                  &quot;fadeType&quot;: &quot;A String&quot;, # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
+                  &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start the fade animation, in seconds. Default: 0
+                  &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                    &quot;x&quot;: 3.14, # Normalized x coordinate.
+                    &quot;y&quot;: 3.14, # Normalized y coordinate.
+                  },
+                },
+                &quot;animationStatic&quot;: { # Display static overlay object. # Display static overlay object.
+                  &quot;startTimeOffset&quot;: &quot;A String&quot;, # The time to start displaying the overlay object, in seconds. Default: 0
+                  &quot;xy&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized coordinates based on output video resolution. Valid values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
+                    &quot;x&quot;: 3.14, # Normalized x coordinate.
+                    &quot;y&quot;: 3.14, # Normalized y coordinate.
+                  },
+                },
+              },
+            ],
+            &quot;image&quot;: { # Overlaid jpeg image. # Image overlay.
+              &quot;alpha&quot;: 3.14, # Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.
+              &quot;resolution&quot;: { # 2D normalized coordinates. Default: `{0.0, 0.0}` # Normalized image resolution, based on output video resolution. Valid values: `0.0`–`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`.
+                &quot;x&quot;: 3.14, # Normalized x coordinate.
+                &quot;y&quot;: 3.14, # Normalized y coordinate.
+              },
+              &quot;uri&quot;: &quot;A String&quot;, # Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.
+            },
+          },
+        ],
+        &quot;pubsubDestination&quot;: { # A Pub/Sub destination. # Destination on Pub/Sub.
+          &quot;topic&quot;: &quot;A String&quot;, # The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.
+        },
+        &quot;spriteSheets&quot;: [ # List of output sprite sheets.
+          { # Sprite sheet configuration.
+            &quot;columnCount&quot;: 42, # The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.
+            &quot;endTimeOffset&quot;: &quot;A String&quot;, # End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.
+            &quot;filePrefix&quot;: &quot;A String&quot;, # Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+            &quot;format&quot;: &quot;A String&quot;, # Format type. The default is `jpeg`. Supported formats: - `jpeg`
+            &quot;interval&quot;: &quot;A String&quot;, # Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.
+            &quot;quality&quot;: 42, # The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
+            &quot;rowCount&quot;: 42, # The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.
+            &quot;spriteHeightPixels&quot;: 42, # Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).
+            &quot;spriteWidthPixels&quot;: 42, # Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).
+            &quot;startTimeOffset&quot;: &quot;A String&quot;, # Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.
+            &quot;totalCount&quot;: 42, # Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.
+          },
+        ],
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the job was created.
+      &quot;endTime&quot;: &quot;A String&quot;, # Output only. The time the transcoding finished.
+      &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). # Output only. An error object that describes the reason for the failure. This property is always present when `state` is `FAILED`.
+        &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;inputUri&quot;: &quot;A String&quot;, # Input only. Specify the `input_uri` to populate empty `uri` fields in each element of `Job.config.inputs` or `JobTemplate.config.inputs` when using template. URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`).
+      &quot;name&quot;: &quot;A String&quot;, # The resource name of the job. Format: `projects/{project_number}/locations/{location}/jobs/{job}`
+      &quot;outputUri&quot;: &quot;A String&quot;, # Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or `JobTemplate.config.output.uri` when using template. URI for the output file(s). For example, `gs://my-bucket/outputs/`.
+      &quot;startTime&quot;: &quot;A String&quot;, # Output only. The time the transcoding started.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the job.
+      &quot;templateId&quot;: &quot;A String&quot;, # Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`. Preset Transcoder templates: - `preset/{preset_id}` - User defined JobTemplate: `{job_template_id}`
+      &quot;ttlAfterCompletionDays&quot;: 42, # Job time to live value in days, which will be effective after job completion. Job should be deleted automatically after the given TTL. Enter a value between 1 and 90. The default is 30.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token.
+  &quot;unreachable&quot;: [ # List of regions that could not be reached.
+    &quot;A String&quot;,
+  ],
+}</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/vmmigration_v1.projects.locations.sources.migratingVms.cloneJobs.html b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cloneJobs.html
index 73f3305..869e571 100644
--- a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cloneJobs.html
+++ b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cloneJobs.html
@@ -150,6 +150,9 @@
 
 { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
   &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -258,6 +261,9 @@
 
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
   &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -342,6 +348,9 @@
   &quot;cloneJobs&quot;: [ # Output only. The list of clone jobs response.
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
diff --git a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cutoverJobs.html b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cutoverJobs.html
index 7d65a2e..1d22e06 100644
--- a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cutoverJobs.html
+++ b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cutoverJobs.html
@@ -150,6 +150,9 @@
 
 { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
   &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -260,6 +263,9 @@
 
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
   &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -346,6 +352,9 @@
   &quot;cutoverJobs&quot;: [ # Output only. The list of cutover jobs response.
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
diff --git a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.html b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.html
index 9d7b5d5..8132611 100644
--- a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.html
+++ b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.html
@@ -134,6 +134,9 @@
 
 { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
   &quot;computeEngineTargetDefaults&quot;: { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -211,6 +214,9 @@
   &quot;recentCloneJobs&quot;: [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm&#x27;s last completed clone job and the vm&#x27;s running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -275,6 +281,9 @@
   &quot;recentCutoverJobs&quot;: [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm&#x27;s last completed cutover job and the vm&#x27;s running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -472,6 +481,9 @@
 
     { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
   &quot;computeEngineTargetDefaults&quot;: { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -549,6 +561,9 @@
   &quot;recentCloneJobs&quot;: [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm&#x27;s last completed clone job and the vm&#x27;s running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -613,6 +628,9 @@
   &quot;recentCutoverJobs&quot;: [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm&#x27;s last completed cutover job and the vm&#x27;s running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -710,6 +728,9 @@
   &quot;migratingVms&quot;: [ # Output only. The list of Migrating VMs response.
     { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
       &quot;computeEngineTargetDefaults&quot;: { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -787,6 +808,9 @@
       &quot;recentCloneJobs&quot;: [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm&#x27;s last completed clone job and the vm&#x27;s running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
         { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
           &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+            &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+              &quot;A String&quot;,
+            ],
             &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
               &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
               &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -851,6 +875,9 @@
       &quot;recentCutoverJobs&quot;: [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm&#x27;s last completed cutover job and the vm&#x27;s running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
         { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
           &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+            &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+              &quot;A String&quot;,
+            ],
             &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
               &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
               &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -952,6 +979,9 @@
 
 { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
   &quot;computeEngineTargetDefaults&quot;: { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -1029,6 +1059,9 @@
   &quot;recentCloneJobs&quot;: [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm&#x27;s last completed clone job and the vm&#x27;s running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -1093,6 +1126,9 @@
   &quot;recentCutoverJobs&quot;: [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm&#x27;s last completed cutover job and the vm&#x27;s running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
diff --git a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cloneJobs.html b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cloneJobs.html
index 61345ff..9bd1a4e 100644
--- a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cloneJobs.html
+++ b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cloneJobs.html
@@ -150,6 +150,9 @@
 
 { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
   &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -365,6 +368,9 @@
 
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
   &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -556,6 +562,9 @@
   &quot;cloneJobs&quot;: [ # Output only. The list of clone jobs response.
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
diff --git a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cutoverJobs.html b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cutoverJobs.html
index 2c93961..079695a 100644
--- a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cutoverJobs.html
+++ b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cutoverJobs.html
@@ -150,6 +150,9 @@
 
 { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
   &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -368,6 +371,9 @@
 
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
   &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -562,6 +568,9 @@
   &quot;cutoverJobs&quot;: [ # Output only. The list of cutover jobs response.
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
diff --git a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.html b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.html
index 9cf0b8c..c85a703 100644
--- a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.html
+++ b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.html
@@ -134,6 +134,9 @@
 
 { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
   &quot;computeEngineTargetDefaults&quot;: { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -266,6 +269,9 @@
   &quot;recentCloneJobs&quot;: [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm&#x27;s last completed clone job and the vm&#x27;s running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -437,6 +443,9 @@
   &quot;recentCutoverJobs&quot;: [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm&#x27;s last completed cutover job and the vm&#x27;s running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -795,6 +804,9 @@
 
     { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
   &quot;computeEngineTargetDefaults&quot;: { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -927,6 +939,9 @@
   &quot;recentCloneJobs&quot;: [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm&#x27;s last completed clone job and the vm&#x27;s running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -1098,6 +1113,9 @@
   &quot;recentCutoverJobs&quot;: [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm&#x27;s last completed cutover job and the vm&#x27;s running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -1356,6 +1374,9 @@
   &quot;migratingVms&quot;: [ # Output only. The list of Migrating VMs response.
     { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
       &quot;computeEngineTargetDefaults&quot;: { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -1488,6 +1509,9 @@
       &quot;recentCloneJobs&quot;: [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm&#x27;s last completed clone job and the vm&#x27;s running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
         { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
           &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+            &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+              &quot;A String&quot;,
+            ],
             &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
               &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
               &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -1659,6 +1683,9 @@
       &quot;recentCutoverJobs&quot;: [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm&#x27;s last completed cutover job and the vm&#x27;s running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
         { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
           &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+            &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+              &quot;A String&quot;,
+            ],
             &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
               &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
               &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -1921,6 +1948,9 @@
 
 { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
   &quot;computeEngineTargetDefaults&quot;: { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
+    &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+      &quot;A String&quot;,
+    ],
     &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
       &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
       &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -2053,6 +2083,9 @@
   &quot;recentCloneJobs&quot;: [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm&#x27;s last completed clone job and the vm&#x27;s running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
@@ -2224,6 +2257,9 @@
   &quot;recentCutoverJobs&quot;: [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm&#x27;s last completed cutover job and the vm&#x27;s running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the &quot;view&quot; parameter of the Get/List request.
     { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
       &quot;computeEngineTargetDetails&quot;: { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
+        &quot;additionalLicenses&quot;: [ # Additional licenses to assign to the VM.
+          &quot;A String&quot;,
+        ],
         &quot;appliedLicense&quot;: { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
           &quot;osLicense&quot;: &quot;A String&quot;, # The OS license returned from the adaptation module&#x27;s report.
           &quot;type&quot;: &quot;A String&quot;, # The license type that was used in OS adaptation.
diff --git a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
index 30f3032..216e005 100644
--- a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
+++ b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
@@ -115,7 +115,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/",
   "schemas": {
     "AmpUrl": {
diff --git a/googleapiclient/discovery_cache/documents/accessapproval.v1.json b/googleapiclient/discovery_cache/documents/accessapproval.v1.json
index 7b43b91..617b0cd 100644
--- a/googleapiclient/discovery_cache/documents/accessapproval.v1.json
+++ b/googleapiclient/discovery_cache/documents/accessapproval.v1.json
@@ -754,7 +754,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211213",
   "rootUrl": "https://accessapproval.googleapis.com/",
   "schemas": {
     "AccessApprovalSettings": {
diff --git a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json
index d8406e0..2466696 100644
--- a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json
@@ -108,7 +108,7 @@
     "accessPolicies": {
       "methods": {
         "create": {
-          "description": "Create an `AccessPolicy`. Fails if this organization already has a `AccessPolicy`. The longrunning Operation will have a successful status once the `AccessPolicy` has propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.",
+          "description": "Creates an access policy. This method fails if the organization already has an access policy. The long-running operation has a successful status after the access policy propagates to long-lasting storage. Syntactic and basic semantic errors are returned in `metadata` as a BadRequest proto.",
           "flatPath": "v1/accessPolicies",
           "httpMethod": "POST",
           "id": "accesscontextmanager.accessPolicies.create",
@@ -126,7 +126,7 @@
           ]
         },
         "delete": {
-          "description": "Delete an AccessPolicy by resource name. The longrunning Operation will have a successful status once the AccessPolicy has been removed from long-lasting storage.",
+          "description": "Deletes an access policy based on the resource name. The long-running operation has a successful status after the access policy is removed from long-lasting storage.",
           "flatPath": "v1/accessPolicies/{accessPoliciesId}",
           "httpMethod": "DELETE",
           "id": "accesscontextmanager.accessPolicies.delete",
@@ -151,7 +151,7 @@
           ]
         },
         "get": {
-          "description": "Get an AccessPolicy by name.",
+          "description": "Returns an access policy based on the name.",
           "flatPath": "v1/accessPolicies/{accessPoliciesId}",
           "httpMethod": "GET",
           "id": "accesscontextmanager.accessPolicies.get",
@@ -175,8 +175,36 @@
             "https://www.googleapis.com/auth/cloud-platform"
           ]
         },
+        "getIamPolicy": {
+          "description": "Gets the IAM policy for the specified Access Context Manager access policy.",
+          "flatPath": "v1/accessPolicies/{accessPoliciesId}:getIamPolicy",
+          "httpMethod": "POST",
+          "id": "accesscontextmanager.accessPolicies.getIamPolicy",
+          "parameterOrder": [
+            "resource"
+          ],
+          "parameters": {
+            "resource": {
+              "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
+              "location": "path",
+              "pattern": "^accessPolicies/[^/]+$",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v1/{+resource}:getIamPolicy",
+          "request": {
+            "$ref": "GetIamPolicyRequest"
+          },
+          "response": {
+            "$ref": "Policy"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform"
+          ]
+        },
         "list": {
-          "description": "List all AccessPolicies under a container.",
+          "description": "Lists all access policies in an organization.",
           "flatPath": "v1/accessPolicies",
           "httpMethod": "GET",
           "id": "accesscontextmanager.accessPolicies.list",
@@ -208,7 +236,7 @@
           ]
         },
         "patch": {
-          "description": "Update an AccessPolicy. The longrunning Operation from this RPC will have a successful status once the changes to the AccessPolicy have propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.",
+          "description": "Updates an access policy. The long-running operation from this RPC has a successful status after the changes to the access policy propagate to long-lasting storage.",
           "flatPath": "v1/accessPolicies/{accessPoliciesId}",
           "httpMethod": "PATCH",
           "id": "accesscontextmanager.accessPolicies.patch",
@@ -240,13 +268,69 @@
           "scopes": [
             "https://www.googleapis.com/auth/cloud-platform"
           ]
+        },
+        "setIamPolicy": {
+          "description": "Sets the IAM policy for the specified Access Context Manager access policy. This method replaces the existing IAM policy on the access policy. The IAM policy controls the set of users who can perform specific operations on the Access Context Manager access policy.",
+          "flatPath": "v1/accessPolicies/{accessPoliciesId}:setIamPolicy",
+          "httpMethod": "POST",
+          "id": "accesscontextmanager.accessPolicies.setIamPolicy",
+          "parameterOrder": [
+            "resource"
+          ],
+          "parameters": {
+            "resource": {
+              "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
+              "location": "path",
+              "pattern": "^accessPolicies/[^/]+$",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v1/{+resource}:setIamPolicy",
+          "request": {
+            "$ref": "SetIamPolicyRequest"
+          },
+          "response": {
+            "$ref": "Policy"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform"
+          ]
+        },
+        "testIamPermissions": {
+          "description": "Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.",
+          "flatPath": "v1/accessPolicies/{accessPoliciesId}:testIamPermissions",
+          "httpMethod": "POST",
+          "id": "accesscontextmanager.accessPolicies.testIamPermissions",
+          "parameterOrder": [
+            "resource"
+          ],
+          "parameters": {
+            "resource": {
+              "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
+              "location": "path",
+              "pattern": "^accessPolicies/[^/]+$",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v1/{+resource}:testIamPermissions",
+          "request": {
+            "$ref": "TestIamPermissionsRequest"
+          },
+          "response": {
+            "$ref": "TestIamPermissionsResponse"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform"
+          ]
         }
       },
       "resources": {
         "accessLevels": {
           "methods": {
             "create": {
-              "description": "Create an Access Level. The longrunning operation from this RPC will have a successful status once the Access Level has propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.",
+              "description": "Creates an access level. The long-running operation from this RPC has a successful status after the access level propagates to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels",
               "httpMethod": "POST",
               "id": "accesscontextmanager.accessPolicies.accessLevels.create",
@@ -274,7 +358,7 @@
               ]
             },
             "delete": {
-              "description": "Delete an Access Level by resource name. The longrunning operation from this RPC will have a successful status once the Access Level has been removed from long-lasting storage.",
+              "description": "Deletes an access level based on the resource name. The long-running operation from this RPC has a successful status after the access level has been removed from long-lasting storage.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
               "httpMethod": "DELETE",
               "id": "accesscontextmanager.accessPolicies.accessLevels.delete",
@@ -299,7 +383,7 @@
               ]
             },
             "get": {
-              "description": "Get an Access Level by resource name.",
+              "description": "Gets an access level based on the resource name.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
               "httpMethod": "GET",
               "id": "accesscontextmanager.accessPolicies.accessLevels.get",
@@ -339,7 +423,7 @@
               ]
             },
             "list": {
-              "description": "List all Access Levels for an access policy.",
+              "description": "Lists all access levels for an access policy.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels",
               "httpMethod": "GET",
               "id": "accesscontextmanager.accessPolicies.accessLevels.list",
@@ -390,7 +474,7 @@
               ]
             },
             "patch": {
-              "description": "Update an Access Level. The longrunning operation from this RPC will have a successful status once the changes to the Access Level have propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.",
+              "description": "Updates an access level. The long-running operation from this RPC has a successful status after the changes to the access level propagate to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
               "httpMethod": "PATCH",
               "id": "accesscontextmanager.accessPolicies.accessLevels.patch",
@@ -424,7 +508,7 @@
               ]
             },
             "replaceAll": {
-              "description": "Replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically. The longrunning operation from this RPC will have a successful status once all replacements have propagated to long-lasting storage. Replacements containing errors will result in an error response for the first error encountered. Replacement will be cancelled on error, existing Access Levels will not be affected. Operation.response field will contain ReplaceAccessLevelsResponse. Removing Access Levels contained in existing Service Perimeters will result in error.",
+              "description": "Replaces all existing access levels in an access policy with the access levels provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. If the replacement contains errors, an error response is returned for the first error encountered. Upon error, the replacement is cancelled, and existing access levels are not affected. The Operation.response field contains ReplaceAccessLevelsResponse. Removing access levels contained in existing service perimeters result in an error.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels:replaceAll",
               "httpMethod": "POST",
               "id": "accesscontextmanager.accessPolicies.accessLevels.replaceAll",
@@ -450,13 +534,41 @@
               "scopes": [
                 "https://www.googleapis.com/auth/cloud-platform"
               ]
+            },
+            "testIamPermissions": {
+              "description": "Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.",
+              "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}:testIamPermissions",
+              "httpMethod": "POST",
+              "id": "accesscontextmanager.accessPolicies.accessLevels.testIamPermissions",
+              "parameterOrder": [
+                "resource"
+              ],
+              "parameters": {
+                "resource": {
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
+                  "location": "path",
+                  "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+resource}:testIamPermissions",
+              "request": {
+                "$ref": "TestIamPermissionsRequest"
+              },
+              "response": {
+                "$ref": "TestIamPermissionsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
             }
           }
         },
         "servicePerimeters": {
           "methods": {
             "commit": {
-              "description": "Commit the dry-run spec for all the Service Perimeters in an Access Policy. A commit operation on a Service Perimeter involves copying its `spec` field to that Service Perimeter's `status` field. Only Service Perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The longrunning operation from this RPC will have a successful status once the dry-run specs for all the Service Perimeters have been committed. If a commit fails, it will cause the longrunning operation to return an error response and the entire commit operation will be cancelled. When successful, Operation.response field will contain CommitServicePerimetersResponse. The `dry_run` and the `spec` fields will be cleared after a successful commit operation.",
+              "description": "Commits the dry-run specification for all the service perimeters in an access policy. A commit operation on a service perimeter involves copying its `spec` field to the `status` field of the service perimeter. Only service perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The long-running operation from this RPC has a successful status after the dry-run specifications for all the service perimeters have been committed. If a commit fails, it causes the long-running operation to return an error response and the entire commit operation is cancelled. When successful, the Operation.response field contains CommitServicePerimetersResponse. The `dry_run` and the `spec` fields are cleared after a successful commit operation.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters:commit",
               "httpMethod": "POST",
               "id": "accesscontextmanager.accessPolicies.servicePerimeters.commit",
@@ -484,7 +596,7 @@
               ]
             },
             "create": {
-              "description": "Create a Service Perimeter. The longrunning operation from this RPC will have a successful status once the Service Perimeter has propagated to long-lasting storage. Service Perimeters containing errors will result in an error response for the first error encountered.",
+              "description": "Creates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters",
               "httpMethod": "POST",
               "id": "accesscontextmanager.accessPolicies.servicePerimeters.create",
@@ -512,7 +624,7 @@
               ]
             },
             "delete": {
-              "description": "Delete a Service Perimeter by resource name. The longrunning operation from this RPC will have a successful status once the Service Perimeter has been removed from long-lasting storage.",
+              "description": "Deletes a service perimeter based on the resource name. The long-running operation from this RPC has a successful status after the service perimeter is removed from long-lasting storage.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
               "httpMethod": "DELETE",
               "id": "accesscontextmanager.accessPolicies.servicePerimeters.delete",
@@ -537,7 +649,7 @@
               ]
             },
             "get": {
-              "description": "Get a Service Perimeter by resource name.",
+              "description": "Gets a service perimeter based on the resource name.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
               "httpMethod": "GET",
               "id": "accesscontextmanager.accessPolicies.servicePerimeters.get",
@@ -562,7 +674,7 @@
               ]
             },
             "list": {
-              "description": "List all Service Perimeters for an access policy.",
+              "description": "Lists all service perimeters for an access policy.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters",
               "httpMethod": "GET",
               "id": "accesscontextmanager.accessPolicies.servicePerimeters.list",
@@ -598,7 +710,7 @@
               ]
             },
             "patch": {
-              "description": "Update a Service Perimeter. The longrunning operation from this RPC will have a successful status once the changes to the Service Perimeter have propagated to long-lasting storage. Service Perimeter containing errors will result in an error response for the first error encountered.",
+              "description": "Updates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
               "httpMethod": "PATCH",
               "id": "accesscontextmanager.accessPolicies.servicePerimeters.patch",
@@ -632,7 +744,7 @@
               ]
             },
             "replaceAll": {
-              "description": "Replace all existing Service Perimeters in an Access Policy with the Service Perimeters provided. This is done atomically. The longrunning operation from this RPC will have a successful status once all replacements have propagated to long-lasting storage. Replacements containing errors will result in an error response for the first error encountered. Replacement will be cancelled on error, existing Service Perimeters will not be affected. Operation.response field will contain ReplaceServicePerimetersResponse.",
+              "description": "Replace all existing service perimeters in an access policy with the service perimeters provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. Replacements containing errors result in an error response for the first error encountered. Upon an error, replacement are cancelled and existing service perimeters are not affected. The Operation.response field contains ReplaceServicePerimetersResponse.",
               "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters:replaceAll",
               "httpMethod": "POST",
               "id": "accesscontextmanager.accessPolicies.servicePerimeters.replaceAll",
@@ -658,6 +770,34 @@
               "scopes": [
                 "https://www.googleapis.com/auth/cloud-platform"
               ]
+            },
+            "testIamPermissions": {
+              "description": "Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.",
+              "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}:testIamPermissions",
+              "httpMethod": "POST",
+              "id": "accesscontextmanager.accessPolicies.servicePerimeters.testIamPermissions",
+              "parameterOrder": [
+                "resource"
+              ],
+              "parameters": {
+                "resource": {
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
+                  "location": "path",
+                  "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+resource}:testIamPermissions",
+              "request": {
+                "$ref": "TestIamPermissionsRequest"
+              },
+              "response": {
+                "$ref": "TestIamPermissionsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
             }
           }
         }
@@ -791,7 +931,7 @@
         "gcpUserAccessBindings": {
           "methods": {
             "create": {
-              "description": "Creates a GcpUserAccessBinding. If the client specifies a name, the server will ignore it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time.",
+              "description": "Creates a GcpUserAccessBinding. If the client specifies a name, the server ignores it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time.",
               "flatPath": "v1/organizations/{organizationsId}/gcpUserAccessBindings",
               "httpMethod": "POST",
               "id": "accesscontextmanager.organizations.gcpUserAccessBindings.create",
@@ -943,7 +1083,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://accesscontextmanager.googleapis.com/",
   "schemas": {
     "AccessContextManagerOperationMetadata": {
@@ -995,6 +1135,13 @@
           "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`",
           "type": "string"
         },
+        "scopes": {
+          "description": "The scopes of a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "title": {
           "description": "Required. Human readable title. Does not affect behavior.",
           "type": "string"
@@ -1020,6 +1167,54 @@
       },
       "type": "object"
     },
+    "AuditConfig": {
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
+      "id": "AuditConfig",
+      "properties": {
+        "auditLogConfigs": {
+          "description": "The configuration for logging of each type of permission.",
+          "items": {
+            "$ref": "AuditLogConfig"
+          },
+          "type": "array"
+        },
+        "service": {
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "AuditLogConfig": {
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
+      "id": "AuditLogConfig",
+      "properties": {
+        "exemptedMembers": {
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "logType": {
+          "description": "The log type that this config enables.",
+          "enum": [
+            "LOG_TYPE_UNSPECIFIED",
+            "ADMIN_READ",
+            "DATA_WRITE",
+            "DATA_READ"
+          ],
+          "enumDescriptions": [
+            "Default case. Should never be this.",
+            "Admin reads. Example: CloudIAM getIamPolicy",
+            "Data writes. Example: CloudSQL Users create",
+            "Data reads. Example: CloudSQL Users list"
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "BasicLevel": {
       "description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.",
       "id": "BasicLevel",
@@ -1046,6 +1241,28 @@
       },
       "type": "object"
     },
+    "Binding": {
+      "description": "Associates `members`, or principals, with a `role`.",
+      "id": "Binding",
+      "properties": {
+        "condition": {
+          "$ref": "Expr",
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+        },
+        "members": {
+          "description": "Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "role": {
+          "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "CancelOperationRequest": {
       "description": "The request message for Operations.CancelOperation.",
       "id": "CancelOperationRequest",
@@ -1318,6 +1535,29 @@
       "properties": {},
       "type": "object"
     },
+    "GetIamPolicyRequest": {
+      "description": "Request message for `GetIamPolicy` method.",
+      "id": "GetIamPolicyRequest",
+      "properties": {
+        "options": {
+          "$ref": "GetPolicyOptions",
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
+        }
+      },
+      "type": "object"
+    },
+    "GetPolicyOptions": {
+      "description": "Encapsulates settings provided to GetIamPolicy.",
+      "id": "GetPolicyOptions",
+      "properties": {
+        "requestedPolicyVersion": {
+          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
     "IngressFrom": {
       "description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match.",
       "id": "IngressFrom",
@@ -1583,6 +1823,37 @@
       },
       "type": "object"
     },
+    "Policy": {
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
+      "id": "Policy",
+      "properties": {
+        "auditConfigs": {
+          "description": "Specifies cloud audit logging configuration for this policy.",
+          "items": {
+            "$ref": "AuditConfig"
+          },
+          "type": "array"
+        },
+        "bindings": {
+          "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.",
+          "items": {
+            "$ref": "Binding"
+          },
+          "type": "array"
+        },
+        "etag": {
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
+          "format": "byte",
+          "type": "string"
+        },
+        "version": {
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
     "ReplaceAccessLevelsRequest": {
       "description": "A request to replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically.",
       "id": "ReplaceAccessLevelsRequest",
@@ -1736,6 +2007,22 @@
       },
       "type": "object"
     },
+    "SetIamPolicyRequest": {
+      "description": "Request message for `SetIamPolicy` method.",
+      "id": "SetIamPolicyRequest",
+      "properties": {
+        "policy": {
+          "$ref": "Policy",
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
+        },
+        "updateMask": {
+          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
+          "format": "google-fieldmask",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Status": {
       "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
@@ -1763,6 +2050,34 @@
       },
       "type": "object"
     },
+    "TestIamPermissionsRequest": {
+      "description": "Request message for `TestIamPermissions` method.",
+      "id": "TestIamPermissionsRequest",
+      "properties": {
+        "permissions": {
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "TestIamPermissionsResponse": {
+      "description": "Response message for `TestIamPermissions` method.",
+      "id": "TestIamPermissionsResponse",
+      "properties": {
+        "permissions": {
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "VpcAccessibleServices": {
       "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
       "id": "VpcAccessibleServices",
diff --git a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json
index 95984ec..792fa33 100644
--- a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json
@@ -609,7 +609,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://accesscontextmanager.googleapis.com/",
   "schemas": {
     "AccessContextManagerOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
index 681d354..a087766 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
@@ -2568,7 +2568,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211213",
   "rootUrl": "https://adexchangebuyer.googleapis.com/",
   "schemas": {
     "AbsoluteDateRange": {
diff --git a/googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json b/googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json
index 0db1f57..ca313a7 100644
--- a/googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json
+++ b/googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json
@@ -272,7 +272,7 @@
       }
     }
   },
-  "revision": "20211116",
+  "revision": "20211207",
   "rootUrl": "https://admin.googleapis.com/",
   "schemas": {
     "Application": {
diff --git a/googleapiclient/discovery_cache/documents/admin.directory_v1.json b/googleapiclient/discovery_cache/documents/admin.directory_v1.json
index 7e997b2..09aa3be 100644
--- a/googleapiclient/discovery_cache/documents/admin.directory_v1.json
+++ b/googleapiclient/discovery_cache/documents/admin.directory_v1.json
@@ -4402,7 +4402,7 @@
       }
     }
   },
-  "revision": "20211116",
+  "revision": "20211207",
   "rootUrl": "https://admin.googleapis.com/",
   "schemas": {
     "Alias": {
@@ -5183,6 +5183,10 @@
           "description": "The device's order number. Only devices directly purchased from Google have an order number.",
           "type": "string"
         },
+        "orgUnitId": {
+          "description": "The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API, and this will be supported in the future.",
+          "type": "string"
+        },
         "orgUnitPath": {
           "description": "The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).",
           "type": "string"
@@ -7352,11 +7356,15 @@
       "id": "UserLanguage",
       "properties": {
         "customLanguage": {
-          "description": "Other language. User can provide own language name if there is no corresponding Google III language code. If this is set LanguageCode can't be set",
+          "description": "Other language. User can provide own language name if there is no corresponding ISO 639 language code. If this is set `languageCode` can't be set.",
           "type": "string"
         },
         "languageCode": {
-          "description": "Language Code. Should be used for storing Google III LanguageCode string representation for language. Illegal values cause SchemaException.",
+          "description": "Language Code. Should be used for storing ISO 639 LanguageCode string representation for language. See the [Language Codes](/admin-sdk/directory/v1/languages) page for the list of supported codes. Valid language codes outside the supported set will be accepted by the API but may lead to unexpected behavior. Illegal values cause SchemaException. If this is set `customLanguage` can't be set.",
+          "type": "string"
+        },
+        "preference": {
+          "description": "Preference. Optional field, which if present, controls whether the specified `languageCode` is stored as the user's preferred language. If `customLanguage` is set, this can't be set. Allowed values are `preferred` and `not_preferred`.",
           "type": "string"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/admin.reports_v1.json b/googleapiclient/discovery_cache/documents/admin.reports_v1.json
index 517ee5b..c24caf7 100644
--- a/googleapiclient/discovery_cache/documents/admin.reports_v1.json
+++ b/googleapiclient/discovery_cache/documents/admin.reports_v1.json
@@ -164,9 +164,9 @@
                 "The Jamboard activity reports return information about various Jamboard activity events.",
                 "The Login application's activity reports return account information about different types of Login activity events.",
                 "The Meet Audit activity report returns information about different types of Meet Audit activity events.",
-                "The Mobile Audit activity report return information about different types of Mobile Audit activity events.",
-                "The Rules activity report return information about different types of Rules activity events.",
-                "The SAML activity report return information about different types of SAML activity events.",
+                "The Device Audit activity report returns information about different types of Device Audit activity events.",
+                "The Rules activity report returns information about different types of Rules activity events.",
+                "The SAML activity report returns information about different types of SAML activity events.",
                 "The Token application's activity reports return account information about different types of Token activity events.",
                 "The User Accounts application's activity reports return account information about different types of User Accounts activity events.",
                 "The Context-aware access activity reports return information about users' access denied events due to Context-aware access rules.",
@@ -303,9 +303,9 @@
                 "The Jamboard activity reports return information about various Jamboard activity events.",
                 "The Login application's activity reports return account information about different types of Login activity events.",
                 "The Meet Audit activity report returns information about different types of Meet Audit activity events.",
-                "The Mobile Audit activity report return information about different types of Mobile Audit activity events.",
-                "The Rules activity report return information about different types of Rules activity events.",
-                "The SAML activity report return information about different types of SAML activity events.",
+                "The Device Audit activity report returns information about different types of Device Audit activity events.",
+                "The Rules activity report returns information about different types of Rules activity events.",
+                "The SAML activity report returns information about different types of SAML activity events.",
                 "The Token application's activity reports return account information about different types of Token activity events.",
                 "The User Accounts application's activity reports return account information about different types of User Accounts activity events.",
                 "The Context-aware access activity reports return information about users' access denied events due to Context-aware access rules.",
@@ -486,15 +486,7 @@
               "type": "string"
             },
             "entityKey": {
-              "description": "Represents the key of the object to filter the data with.",
-              "enum": [
-                "all",
-                "entityKey"
-              ],
-              "enumDescriptions": [
-                "Returns activity events for all users.",
-                "Represents an app-specific identifier for the entity. For details on how to obtain the `entityKey` for a particular `entityType`, see the Entities Usage parameters reference guides."
-              ],
+              "description": "Represents the key of the object to filter the data with. It is a string which can take the value `all` to get activity events for all users, or any other value for an app-specific entity. For details on how to obtain the `entityKey` for a particular `entityType`, see the Entities Usage parameters reference guides.",
               "location": "path",
               "required": true,
               "type": "string"
@@ -631,7 +623,7 @@
       }
     }
   },
-  "revision": "20211116",
+  "revision": "20211207",
   "rootUrl": "https://admin.googleapis.com/",
   "schemas": {
     "Activities": {
diff --git a/googleapiclient/discovery_cache/documents/admob.v1.json b/googleapiclient/discovery_cache/documents/admob.v1.json
index bbe982b..eb8d8e3 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
diff --git a/googleapiclient/discovery_cache/documents/admob.v1beta.json b/googleapiclient/discovery_cache/documents/admob.v1beta.json
index aa0ded1..3da2d93 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1beta.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
diff --git a/googleapiclient/discovery_cache/documents/adsense.v2.json b/googleapiclient/discovery_cache/documents/adsense.v2.json
index fff74d0..8689a5c 100644
--- a/googleapiclient/discovery_cache/documents/adsense.v2.json
+++ b/googleapiclient/discovery_cache/documents/adsense.v2.json
@@ -1567,7 +1567,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211209",
   "rootUrl": "https://adsense.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
index 8c1b27c..c670d6b 100644
--- a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
@@ -3274,7 +3274,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://analyticsadmin.googleapis.com/",
   "schemas": {
     "GoogleAnalyticsAdminV1alphaAccount": {
@@ -3873,6 +3873,23 @@
           "description": "Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.",
           "type": "string"
         },
+        "restrictedMetricType": {
+          "description": "Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.",
+          "items": {
+            "enum": [
+              "RESTRICTED_METRIC_TYPE_UNSPECIFIED",
+              "COST_DATA",
+              "REVENUE_DATA"
+            ],
+            "enumDescriptions": [
+              "Type unknown or unspecified.",
+              "Metric reports cost data.",
+              "Metric reports revenue data."
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
         "scope": {
           "description": "Required. Immutable. The scope of this custom metric.",
           "enum": [
diff --git a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
index d50e82a..31fecca 100644
--- a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
@@ -313,7 +313,7 @@
       }
     }
   },
-  "revision": "20211202",
+  "revision": "20211210",
   "rootUrl": "https://analyticsdata.googleapis.com/",
   "schemas": {
     "ActiveMetricRestriction": {
@@ -621,7 +621,7 @@
       "type": "object"
     },
     "Dimension": {
-      "description": "Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be \"Paris\" or \"New York\". Requests are allowed up to 9 dimensions.",
+      "description": "Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be \"Paris\" or \"New York\". Requests are allowed up to 9 dimensions.",
       "id": "Dimension",
       "properties": {
         "dimensionExpression": {
@@ -799,7 +799,7 @@
         },
         "filter": {
           "$ref": "Filter",
-          "description": "A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics."
+          "description": "A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics."
         },
         "notExpression": {
           "$ref": "FilterExpression",
@@ -1685,7 +1685,7 @@
         },
         "metricFilter": {
           "$ref": "FilterExpression",
-          "description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions cannot be used in this filter."
+          "description": "The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter."
         },
         "metrics": {
           "description": "The metrics requested and displayed.",
@@ -1822,8 +1822,8 @@
             "Begins with the string value.",
             "Ends with the string value.",
             "Contains the string value.",
-            "Full regular expression match with the string value.",
-            "Partial regular expression match with the string value."
+            "Full match for the regular expression with the string value.",
+            "Partial match for the regular expression with the string value."
           ],
           "type": "string"
         },
diff --git a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
index 53cd9bd..b5112af 100644
--- a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
+++ b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
@@ -825,7 +825,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://androiddeviceprovisioning.googleapis.com/",
   "schemas": {
     "ClaimDeviceRequest": {
diff --git a/googleapiclient/discovery_cache/documents/androidenterprise.v1.json b/googleapiclient/discovery_cache/documents/androidenterprise.v1.json
index d2e899e..4fd0788 100644
--- a/googleapiclient/discovery_cache/documents/androidenterprise.v1.json
+++ b/googleapiclient/discovery_cache/documents/androidenterprise.v1.json
@@ -2610,7 +2610,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211208",
   "rootUrl": "https://androidenterprise.googleapis.com/",
   "schemas": {
     "Administrator": {
diff --git a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
index 3ce828f..f0d1574 100644
--- a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
+++ b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
@@ -3040,7 +3040,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://androidpublisher.googleapis.com/",
   "schemas": {
     "Apk": {
diff --git a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
index 06447f1..7dbc2da 100644
--- a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
@@ -1083,7 +1083,7 @@
       }
     }
   },
-  "revision": "20211110",
+  "revision": "20211201",
   "rootUrl": "https://apigateway.googleapis.com/",
   "schemas": {
     "ApigatewayApi": {
diff --git a/googleapiclient/discovery_cache/documents/apigee.v1.json b/googleapiclient/discovery_cache/documents/apigee.v1.json
index b463c00..268c893 100644
--- a/googleapiclient/discovery_cache/documents/apigee.v1.json
+++ b/googleapiclient/discovery_cache/documents/apigee.v1.json
@@ -2715,6 +2715,34 @@
             },
             "balance": {
               "methods": {
+                "adjust": {
+                  "description": "Adjust the prepaid balance for the developer. This API will be used in scenarios where the developer has been under-charged or over-charged.",
+                  "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/balance:adjust",
+                  "httpMethod": "POST",
+                  "id": "apigee.organizations.developers.balance.adjust",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. Account balance for the developer. Use the following structure in your request: `organizations/{org}/developers/{developer}/balance`",
+                      "location": "path",
+                      "pattern": "^organizations/[^/]+/developers/[^/]+/balance$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}:adjust",
+                  "request": {
+                    "$ref": "GoogleCloudApigeeV1AdjustDeveloperBalanceRequest"
+                  },
+                  "response": {
+                    "$ref": "GoogleCloudApigeeV1DeveloperBalance"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
                 "credit": {
                   "description": "Credits the account balance for the developer.",
                   "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/balance:credit",
@@ -7412,7 +7440,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211203",
   "rootUrl": "https://apigee.googleapis.com/",
   "schemas": {
     "EdgeConfigstoreBundleBadBundle": {
@@ -7557,6 +7585,17 @@
       },
       "type": "object"
     },
+    "GoogleCloudApigeeV1AdjustDeveloperBalanceRequest": {
+      "description": "Request for AdjustDeveloperBalance.",
+      "id": "GoogleCloudApigeeV1AdjustDeveloperBalanceRequest",
+      "properties": {
+        "adjustment": {
+          "$ref": "GoogleTypeMoney",
+          "description": "* A positive value of `adjustment` means that that the API provider wishes to adjust the balance for an over-charged developer i.e. the balance of the developer will increase. * A negative value of `adjustment` means that that the API provider wishes to adjust the balance for an under-charged developer i.e. the balance of the developer will decrease."
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudApigeeV1AdvancedApiOpsConfig": {
       "description": "Configuration for the Advanced API Ops add-on.",
       "id": "GoogleCloudApigeeV1AdvancedApiOpsConfig",
diff --git a/googleapiclient/discovery_cache/documents/apikeys.v2.json b/googleapiclient/discovery_cache/documents/apikeys.v2.json
index c1e4742..43576e9 100644
--- a/googleapiclient/discovery_cache/documents/apikeys.v2.json
+++ b/googleapiclient/discovery_cache/documents/apikeys.v2.json
@@ -424,7 +424,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211207",
   "rootUrl": "https://apikeys.googleapis.com/",
   "schemas": {
     "Operation": {
diff --git a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
index a2fe54f..f8429c5 100644
--- a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
@@ -586,7 +586,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://area120tables.googleapis.com/",
   "schemas": {
     "BatchCreateRowsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json
index 635610d..0880594 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json
@@ -283,7 +283,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "AptArtifact": {
diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
index 4bf4cd6..bd0d9ae 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
@@ -224,7 +224,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The name of the parent resource where the repository will be created.",
+                      "description": "Required. The name of the parent resource where the repository will be created.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -257,7 +257,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name of the repository to delete.",
+                      "description": "Required. The name of the repository to delete.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                       "required": true,
@@ -282,7 +282,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name of the repository to retrieve.",
+                      "description": "Required. The name of the repository to retrieve.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                       "required": true,
@@ -351,7 +351,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "The name of the parent resource whose repositories will be listed.",
+                      "description": "Required. The name of the parent resource whose repositories will be listed.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -544,7 +544,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name of the package to delete.",
+                          "description": "Required. The name of the package to delete.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$",
                           "required": true,
@@ -569,7 +569,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name of the package to retrieve.",
+                          "description": "Required. The name of the package to retrieve.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$",
                           "required": true,
@@ -606,7 +606,7 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "The name of the parent resource whose packages will be listed.",
+                          "description": "Required. The name of the parent resource whose packages will be listed.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                           "required": true,
@@ -929,7 +929,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "AptArtifact": {
@@ -1448,7 +1448,6 @@
             "DOCKER",
             "MAVEN",
             "NPM",
-            "PYPI",
             "APT",
             "YUM",
             "PYTHON"
@@ -1458,7 +1457,6 @@
             "Docker package format.",
             "Maven package format.",
             "NPM package format.",
-            "PyPI package format. Deprecated, use PYTHON instead.",
             "APT package format.",
             "YUM package format.",
             "Python package format."
diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
index c5f1d48..2eeeb27 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
@@ -1143,7 +1143,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "AptArtifact": {
diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
index 9a4e1f1..7cd05a0 100644
--- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
+++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
@@ -351,7 +351,7 @@
       }
     }
   },
-  "revision": "20211129",
+  "revision": "20211202",
   "rootUrl": "https://assuredworkloads.googleapis.com/",
   "schemas": {
     "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": {
@@ -466,10 +466,29 @@
           "description": "Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload",
           "type": "string"
         },
+        "enableSovereignControls": {
+          "description": "Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.",
+          "type": "boolean"
+        },
         "etag": {
           "description": "Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations.",
           "type": "string"
         },
+        "kajEnrollmentState": {
+          "description": "Output only. Represents the KAJ enrollment state of the given workload.",
+          "enum": [
+            "KAJ_ENROLLMENT_STATE_UNSPECIFIED",
+            "KAJ_ENROLLMENT_STATE_PENDING",
+            "KAJ_ENROLLMENT_STATE_COMPLETE"
+          ],
+          "enumDescriptions": [
+            "Default State for KAJ Enrollment.",
+            "Pending State for KAJ Enrollment.",
+            "Complete State for KAJ Enrollment."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
         "kmsSettings": {
           "$ref": "GoogleCloudAssuredworkloadsV1WorkloadKMSSettings",
           "description": "Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes."
@@ -503,6 +522,11 @@
           },
           "readOnly": true,
           "type": "array"
+        },
+        "saaEnrollmentResponse": {
+          "$ref": "GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse",
+          "description": "Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.",
+          "readOnly": true
         }
       },
       "type": "object"
@@ -538,12 +562,14 @@
           "enum": [
             "RESOURCE_TYPE_UNSPECIFIED",
             "CONSUMER_PROJECT",
+            "CONSUMER_FOLDER",
             "ENCRYPTION_KEYS_PROJECT",
             "KEYRING"
           ],
           "enumDescriptions": [
             "Unknown resource type.",
-            "Consumer project.",
+            "Consumer project. AssuredWorkloads Projects are no longer supported. This field will be ignored only in CreateWorkload requests. ListWorkloads and GetWorkload will continue to provide projects information. Use CONSUMER_FOLDER instead.",
+            "Consumer Folder.",
             "Consumer project containing encryption keys.",
             "Keyring resource that hosts encryption keys."
           ],
@@ -569,12 +595,14 @@
           "enum": [
             "RESOURCE_TYPE_UNSPECIFIED",
             "CONSUMER_PROJECT",
+            "CONSUMER_FOLDER",
             "ENCRYPTION_KEYS_PROJECT",
             "KEYRING"
           ],
           "enumDescriptions": [
             "Unknown resource type.",
-            "Consumer project.",
+            "Consumer project. AssuredWorkloads Projects are no longer supported. This field will be ignored only in CreateWorkload requests. ListWorkloads and GetWorkload will continue to provide projects information. Use CONSUMER_FOLDER instead.",
+            "Consumer Folder.",
             "Consumer project containing encryption keys.",
             "Keyring resource that hosts encryption keys."
           ],
@@ -583,6 +611,48 @@
       },
       "type": "object"
     },
+    "GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse": {
+      "description": "Signed Access Approvals (SAA) enrollment response.",
+      "id": "GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse",
+      "properties": {
+        "setupErrors": {
+          "description": "Indicates SAA enrollment setup error if any.",
+          "items": {
+            "enum": [
+              "SETUP_ERROR_UNSPECIFIED",
+              "ERROR_INVALID_BASE_SETUP",
+              "ERROR_MISSING_EXTERNAL_SIGNING_KEY",
+              "ERROR_NOT_ALL_SERVICES_ENROLLED",
+              "ERROR_SETUP_CHECK_FAILED"
+            ],
+            "enumDescriptions": [
+              "Unspecified.",
+              "Invalid states for all customers, to be redirected to AA UI for additional details.",
+              "Returned when there is not an EKM key configured.",
+              "Returned when there are no enrolled services or the customer is enrolled in CAA only for a subset of services.",
+              "Returned when exception was encountered during evaluation of other criteria."
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "setupStatus": {
+          "description": "Indicates SAA enrollment status of a given workload.",
+          "enum": [
+            "SETUP_STATE_UNSPECIFIED",
+            "STATUS_PENDING",
+            "STATUS_COMPLETE"
+          ],
+          "enumDescriptions": [
+            "Unspecified.",
+            "SAA enrollment pending.",
+            "SAA enrollment comopleted."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudAssuredworkloadsV1beta1CreateWorkloadOperationMetadata": {
       "description": "Operation metadata to give request details of CreateWorkload.",
       "id": "GoogleCloudAssuredworkloadsV1beta1CreateWorkloadOperationMetadata",
@@ -688,6 +758,10 @@
           "description": "Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload",
           "type": "string"
         },
+        "enableSovereignControls": {
+          "description": "Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.",
+          "type": "boolean"
+        },
         "etag": {
           "description": "Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations.",
           "type": "string"
@@ -704,6 +778,21 @@
           "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadIL4Settings",
           "description": "Required. Input only. Immutable. Settings specific to resources needed for IL4."
         },
+        "kajEnrollmentState": {
+          "description": "Output only. Represents the KAJ enrollment state of the given workload.",
+          "enum": [
+            "KAJ_ENROLLMENT_STATE_UNSPECIFIED",
+            "KAJ_ENROLLMENT_STATE_PENDING",
+            "KAJ_ENROLLMENT_STATE_COMPLETE"
+          ],
+          "enumDescriptions": [
+            "Default State for KAJ Enrollment.",
+            "Pending State for KAJ Enrollment.",
+            "Complete State for KAJ Enrollment."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
         "kmsSettings": {
           "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadKMSSettings",
           "description": "Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes."
@@ -737,6 +826,11 @@
           },
           "readOnly": true,
           "type": "array"
+        },
+        "saaEnrollmentResponse": {
+          "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadSaaEnrollmentResponse",
+          "description": "Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.",
+          "readOnly": true
         }
       },
       "type": "object"
@@ -865,6 +959,48 @@
       },
       "type": "object"
     },
+    "GoogleCloudAssuredworkloadsV1beta1WorkloadSaaEnrollmentResponse": {
+      "description": "Signed Access Approvals (SAA) enrollment response.",
+      "id": "GoogleCloudAssuredworkloadsV1beta1WorkloadSaaEnrollmentResponse",
+      "properties": {
+        "setupErrors": {
+          "description": "Indicates SAA enrollment setup error if any.",
+          "items": {
+            "enum": [
+              "SETUP_ERROR_UNSPECIFIED",
+              "ERROR_INVALID_BASE_SETUP",
+              "ERROR_MISSING_EXTERNAL_SIGNING_KEY",
+              "ERROR_NOT_ALL_SERVICES_ENROLLED",
+              "ERROR_SETUP_CHECK_FAILED"
+            ],
+            "enumDescriptions": [
+              "Unspecified.",
+              "Invalid states for all customers, to be redirected to AA UI for additional details.",
+              "Returned when there is not an EKM key configured.",
+              "Returned when there are no enrolled services or the customer is enrolled in CAA only for a subset of services.",
+              "Returned when exception was encountered during evaluation of other criteria."
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "setupStatus": {
+          "description": "Indicates SAA enrollment status of a given workload.",
+          "enum": [
+            "SETUP_STATE_UNSPECIFIED",
+            "STATUS_PENDING",
+            "STATUS_COMPLETE"
+          ],
+          "enumDescriptions": [
+            "Unspecified.",
+            "SAA enrollment pending.",
+            "SAA enrollment comopleted."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudAssuredworkloadsVersioningV1mainCreateWorkloadOperationMetadata": {
       "description": "Operation metadata to give request details of CreateWorkload.",
       "id": "GoogleCloudAssuredworkloadsVersioningV1mainCreateWorkloadOperationMetadata",
@@ -970,6 +1106,10 @@
           "description": "Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload",
           "type": "string"
         },
+        "enableSovereignControls": {
+          "description": "Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.",
+          "type": "boolean"
+        },
         "etag": {
           "description": "Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations.",
           "type": "string"
@@ -986,6 +1126,21 @@
           "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadIL4Settings",
           "description": "Required. Input only. Immutable. Settings specific to resources needed for IL4."
         },
+        "kajEnrollmentState": {
+          "description": "Output only. Represents the KAJ enrollment state of the given workload.",
+          "enum": [
+            "KAJ_ENROLLMENT_STATE_UNSPECIFIED",
+            "KAJ_ENROLLMENT_STATE_PENDING",
+            "KAJ_ENROLLMENT_STATE_COMPLETE"
+          ],
+          "enumDescriptions": [
+            "Default State for KAJ Enrollment.",
+            "Pending State for KAJ Enrollment.",
+            "Complete State for KAJ Enrollment."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
         "kmsSettings": {
           "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadKMSSettings",
           "description": "Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes."
@@ -1019,6 +1174,11 @@
           },
           "readOnly": true,
           "type": "array"
+        },
+        "saaEnrollmentResponse": {
+          "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadSaaEnrollmentResponse",
+          "description": "Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.",
+          "readOnly": true
         }
       },
       "type": "object"
@@ -1147,6 +1307,48 @@
       },
       "type": "object"
     },
+    "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadSaaEnrollmentResponse": {
+      "description": "Signed Access Approvals (SAA) enrollment response.",
+      "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadSaaEnrollmentResponse",
+      "properties": {
+        "setupErrors": {
+          "description": "Indicates SAA enrollment setup error if any.",
+          "items": {
+            "enum": [
+              "SETUP_ERROR_UNSPECIFIED",
+              "ERROR_INVALID_BASE_SETUP",
+              "ERROR_MISSING_EXTERNAL_SIGNING_KEY",
+              "ERROR_NOT_ALL_SERVICES_ENROLLED",
+              "ERROR_SETUP_CHECK_FAILED"
+            ],
+            "enumDescriptions": [
+              "Unspecified.",
+              "Invalid states for all customers, to be redirected to AA UI for additional details.",
+              "Returned when there is not an EKM key configured.",
+              "Returned when there are no enrolled services or the customer is enrolled in CAA only for a subset of services.",
+              "Returned when exception was encountered during evaluation of other criteria."
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "setupStatus": {
+          "description": "Indicates SAA enrollment status of a given workload.",
+          "enum": [
+            "SETUP_STATE_UNSPECIFIED",
+            "STATUS_PENDING",
+            "STATUS_COMPLETE"
+          ],
+          "enumDescriptions": [
+            "Unspecified.",
+            "SAA enrollment pending.",
+            "SAA enrollment comopleted."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleLongrunningListOperationsResponse": {
       "description": "The response message for Operations.ListOperations.",
       "id": "GoogleLongrunningListOperationsResponse",
diff --git a/googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json b/googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json
index bee5aba..aa05cc0 100644
--- a/googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json
+++ b/googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json
@@ -1307,7 +1307,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211213",
   "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/",
   "schemas": {
     "AcceptProposalRequest": {
diff --git a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
index c3925f2..16decc8 100644
--- a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
+++ b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
@@ -145,7 +145,7 @@
       }
     }
   },
-  "revision": "20211028",
+  "revision": "20211207",
   "rootUrl": "https://baremetalsolution.googleapis.com/",
   "schemas": {
     "ResetInstanceRequest": {
diff --git a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json
index eb885c7..7f3811f 100644
--- a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json
+++ b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json
@@ -788,7 +788,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211207",
   "rootUrl": "https://bigqueryreservation.googleapis.com/",
   "schemas": {
     "Assignment": {
diff --git a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json
index 8b18a85..a4cba7b 100644
--- a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json
@@ -786,7 +786,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211207",
   "rootUrl": "https://bigqueryreservation.googleapis.com/",
   "schemas": {
     "Assignment": {
diff --git a/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json b/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json
index df425ad..e319f08 100644
--- a/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json
+++ b/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json
@@ -96,7 +96,7 @@
   },
   "protocol": "rest",
   "resources": {},
-  "revision": "20211104",
+  "revision": "20211202",
   "rootUrl": "https://bigtableadmin.googleapis.com/",
   "schemas": {
     "AutoscalingLimits": {
@@ -250,7 +250,7 @@
           "type": "string"
         },
         "serveNodes": {
-          "description": "Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.",
+          "description": "The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.",
           "format": "int32",
           "type": "integer"
         },
@@ -297,7 +297,7 @@
       "properties": {
         "clusterAutoscalingConfig": {
           "$ref": "ClusterAutoscalingConfig",
-          "description": "Autoscaling configuration for this cluster. Note that when creating or updating a cluster, exactly one of serve_nodes or cluster_autoscaling_config must be set. If serve_nodes is set, then serve_nodes is fixed and autoscaling is turned off. If cluster_autoscaling_config is set, then serve_nodes will be autoscaled."
+          "description": "Autoscaling configuration for this cluster."
         }
       },
       "type": "object"
@@ -596,7 +596,8 @@
           "type": "string"
         },
         "originalRequest": {
-          "$ref": "PartialUpdateClusterRequest"
+          "$ref": "PartialUpdateClusterRequest",
+          "description": "The original request for PartialUpdateCluster."
         },
         "requestTime": {
           "description": "The time at which the original request was received.",
@@ -615,7 +616,7 @@
           "description": "Required. The Cluster which contains the partial updates to be applied, subject to the update_mask."
         },
         "updateMask": {
-          "description": "Required. The subset of Cluster fields which should be replaced. Must be explicitly set.",
+          "description": "Required. The subset of Cluster fields which should be replaced.",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -733,6 +734,27 @@
       },
       "type": "object"
     },
+    "UndeleteTableMetadata": {
+      "description": "Metadata type for the operation returned by google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable.",
+      "id": "UndeleteTableMetadata",
+      "properties": {
+        "endTime": {
+          "description": "If set, the time at which this operation finished or was cancelled.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "name": {
+          "description": "The name of the table being restored.",
+          "type": "string"
+        },
+        "startTime": {
+          "description": "The time at which this operation started.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "UpdateAppProfileMetadata": {
       "description": "The metadata for the Operation returned by UpdateAppProfile.",
       "id": "UpdateAppProfileMetadata",
diff --git a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json
index 595e737..d79731a 100644
--- a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json
+++ b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json
@@ -286,7 +286,7 @@
         "instances": {
           "methods": {
             "create": {
-              "description": "Create an instance within a project.",
+              "description": "Create an instance within a project. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.",
               "flatPath": "v2/projects/{projectsId}/instances",
               "httpMethod": "POST",
               "id": "bigtableadmin.projects.instances.create",
@@ -789,7 +789,7 @@
             "clusters": {
               "methods": {
                 "create": {
-                  "description": "Creates a cluster within an instance.",
+                  "description": "Creates a cluster within an instance. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.",
                   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters",
                   "httpMethod": "POST",
                   "id": "bigtableadmin.projects.instances.clusters.create",
@@ -924,7 +924,7 @@
                   ]
                 },
                 "partialUpdateCluster": {
-                  "description": "Partially updates a cluster within a project. This method is the preferred way to update a Cluster. ",
+                  "description": "Partially updates a cluster within a project. This method is the preferred way to update a Cluster. To enable and update autoscaling, set cluster_config.cluster_autoscaling_config. When autoscaling is enabled, serve_nodes is treated as an OUTPUT_ONLY field, meaning that updates to it are ignored. Note that an update cannot simultaneously set serve_nodes to non-zero and cluster_config.cluster_autoscaling_config to non-empty, and also specify both in the update_mask. To disable autoscaling, clear cluster_config.cluster_autoscaling_config, and explicitly set a serve_node count via the update_mask.",
                   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}",
                   "httpMethod": "PATCH",
                   "id": "bigtableadmin.projects.instances.clusters.partialUpdateCluster",
@@ -940,7 +940,7 @@
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "Required. The subset of Cluster fields which should be replaced. Must be explicitly set.",
+                      "description": "Required. The subset of Cluster fields which should be replaced.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -963,7 +963,7 @@
                   ]
                 },
                 "update": {
-                  "description": "Updates a cluster within an instance. UpdateCluster is deprecated. Please use PartialUpdateCluster instead.",
+                  "description": "Updates a cluster within an instance. Note that UpdateCluster does not support updating cluster_config.cluster_autoscaling_config. In order to update it, you must use PartialUpdateCluster.",
                   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}",
                   "httpMethod": "PUT",
                   "id": "bigtableadmin.projects.instances.clusters.update",
@@ -1803,7 +1803,7 @@
       }
     }
   },
-  "revision": "20211104",
+  "revision": "20211202",
   "rootUrl": "https://bigtableadmin.googleapis.com/",
   "schemas": {
     "AppProfile": {
@@ -2076,7 +2076,7 @@
           "type": "string"
         },
         "serveNodes": {
-          "description": "Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.",
+          "description": "The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.",
           "format": "int32",
           "type": "integer"
         },
@@ -2123,7 +2123,7 @@
       "properties": {
         "clusterAutoscalingConfig": {
           "$ref": "ClusterAutoscalingConfig",
-          "description": "Autoscaling configuration for this cluster. Note that when creating or updating a cluster, exactly one of serve_nodes or cluster_autoscaling_config must be set. If serve_nodes is set, then serve_nodes is fixed and autoscaling is turned off. If cluster_autoscaling_config is set, then serve_nodes will be autoscaled."
+          "description": "Autoscaling configuration for this cluster."
         }
       },
       "type": "object"
@@ -2490,7 +2490,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -2882,7 +2882,8 @@
           "type": "string"
         },
         "originalRequest": {
-          "$ref": "PartialUpdateClusterRequest"
+          "$ref": "PartialUpdateClusterRequest",
+          "description": "The original request for PartialUpdateCluster."
         },
         "requestTime": {
           "description": "The time at which the original request was received.",
@@ -2901,7 +2902,7 @@
           "description": "Required. The Cluster which contains the partial updates to be applied, subject to the update_mask."
         },
         "updateMask": {
-          "description": "Required. The subset of Cluster fields which should be replaced. Must be explicitly set.",
+          "description": "Required. The subset of Cluster fields which should be replaced.",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -3202,6 +3203,27 @@
       },
       "type": "object"
     },
+    "UndeleteTableMetadata": {
+      "description": "Metadata type for the operation returned by google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable.",
+      "id": "UndeleteTableMetadata",
+      "properties": {
+        "endTime": {
+          "description": "If set, the time at which this operation finished or was cancelled.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "name": {
+          "description": "The name of the table being restored.",
+          "type": "string"
+        },
+        "startTime": {
+          "description": "The time at which this operation started.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Union": {
       "description": "A GcRule which deletes cells matching any of the given rules.",
       "id": "Union",
diff --git a/googleapiclient/discovery_cache/documents/billingbudgets.v1.json b/googleapiclient/discovery_cache/documents/billingbudgets.v1.json
index 7d966c6..eb64bf6 100644
--- a/googleapiclient/discovery_cache/documents/billingbudgets.v1.json
+++ b/googleapiclient/discovery_cache/documents/billingbudgets.v1.json
@@ -270,7 +270,7 @@
       }
     }
   },
-  "revision": "20211119",
+  "revision": "20211203",
   "rootUrl": "https://billingbudgets.googleapis.com/",
   "schemas": {
     "GoogleCloudBillingBudgetsV1Budget": {
diff --git a/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json b/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json
index 3da9b8e..f08b611 100644
--- a/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json
@@ -264,7 +264,7 @@
       }
     }
   },
-  "revision": "20211119",
+  "revision": "20211203",
   "rootUrl": "https://billingbudgets.googleapis.com/",
   "schemas": {
     "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": {
diff --git a/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json b/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
index 0c117a5..75d1885 100644
--- a/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
+++ b/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
@@ -551,7 +551,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://binaryauthorization.googleapis.com/",
   "schemas": {
     "AdmissionRule": {
diff --git a/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json b/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
index 46be2e0..fcbb93e 100644
--- a/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
@@ -551,7 +551,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://binaryauthorization.googleapis.com/",
   "schemas": {
     "AdmissionRule": {
diff --git a/googleapiclient/discovery_cache/documents/blogger.v2.json b/googleapiclient/discovery_cache/documents/blogger.v2.json
index 3f84593..38bf4d1 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v2.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v2.json
@@ -401,7 +401,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://blogger.googleapis.com/",
   "schemas": {
     "Blog": {
diff --git a/googleapiclient/discovery_cache/documents/blogger.v3.json b/googleapiclient/discovery_cache/documents/blogger.v3.json
index ca04329..6d164e7 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v3.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v3.json
@@ -1678,7 +1678,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://blogger.googleapis.com/",
   "schemas": {
     "Blog": {
diff --git a/googleapiclient/discovery_cache/documents/books.v1.json b/googleapiclient/discovery_cache/documents/books.v1.json
index a43b61c..76f307d 100644
--- a/googleapiclient/discovery_cache/documents/books.v1.json
+++ b/googleapiclient/discovery_cache/documents/books.v1.json
@@ -2671,7 +2671,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211206",
   "rootUrl": "https://books.googleapis.com/",
   "schemas": {
     "Annotation": {
diff --git a/googleapiclient/discovery_cache/documents/chat.v1.json b/googleapiclient/discovery_cache/documents/chat.v1.json
index 4a52d9f..78e5365 100644
--- a/googleapiclient/discovery_cache/documents/chat.v1.json
+++ b/googleapiclient/discovery_cache/documents/chat.v1.json
@@ -642,7 +642,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211204",
   "rootUrl": "https://chat.googleapis.com/",
   "schemas": {
     "ActionParameter": {
@@ -674,12 +674,14 @@
             "TYPE_UNSPECIFIED",
             "NEW_MESSAGE",
             "UPDATE_MESSAGE",
+            "UPDATE_USER_MESSAGE_CARDS",
             "REQUEST_CONFIG"
           ],
           "enumDescriptions": [
             "Default type; will be handled as NEW_MESSAGE.",
             "Post as a new message in the topic.",
             "Update the bot's message. This is only permitted on a CARD_CLICKED event where the message sender type is BOT.",
+            "Update the cards on a user's message. This is only permitted as a response to a MESSAGE event with a matched url, or a CARD_CLICKED event where the message sender type is HUMAN. Text will be ignored.",
             "Update a message, with cards only. (Only after a MESSAGE event with a matched url, or a CARD_CLICKED event on a human created message)."
           ],
           "type": "string"
@@ -2330,6 +2332,17 @@
       },
       "type": "object"
     },
+    "MatchedUrl": {
+      "description": "A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).",
+      "id": "MatchedUrl",
+      "properties": {
+        "url": {
+          "description": "The url that was matched.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Media": {
       "description": "Media resource.",
       "id": "Media",
@@ -2426,6 +2439,10 @@
           "readOnly": true,
           "type": "string"
         },
+        "matchedUrl": {
+          "$ref": "MatchedUrl",
+          "description": "A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling)."
+        },
         "name": {
           "description": "Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
index 3cb22a0..331ca46 100644
--- a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
@@ -488,7 +488,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://chromemanagement.googleapis.com/",
   "schemas": {
     "GoogleChromeManagementV1AndroidAppInfo": {
diff --git a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
index cd4350a..bce54fa 100644
--- a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
@@ -324,7 +324,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://chromepolicy.googleapis.com/",
   "schemas": {
     "ChromeCrosDpanelAutosettingsProtoPolicyApiLifecycle": {
diff --git a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
index e76978f..abdff4c 100644
--- a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20211202",
+  "revision": "20211209",
   "rootUrl": "https://chromeuxreport.googleapis.com/",
   "schemas": {
     "Bin": {
diff --git a/googleapiclient/discovery_cache/documents/civicinfo.v2.json b/googleapiclient/discovery_cache/documents/civicinfo.v2.json
index 17381a2..0c40a3d 100644
--- a/googleapiclient/discovery_cache/documents/civicinfo.v2.json
+++ b/googleapiclient/discovery_cache/documents/civicinfo.v2.json
@@ -352,7 +352,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20211211",
   "rootUrl": "https://civicinfo.googleapis.com/",
   "schemas": {
     "AdministrationRegion": {
@@ -851,6 +851,793 @@
       },
       "type": "object"
     },
+    "FeatureIdProto": {
+      "description": "A globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit \"cell id\" that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often - but not always - preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don't need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.",
+      "id": "FeatureIdProto",
+      "properties": {
+        "cellId": {
+          "description": "The S2CellId corresponding to the approximate location of this feature as of when it was first created. This can be of variable accuracy, ranging from the exact centroid of the feature at creation, a very large S2 Cell, or even being completely randomized for locationless features. Cell ids have the nice property that they follow a space-filling curve over the surface of the earth. (See s2cellid.h for details.) WARNING: Clients should only use cell IDs to perform spatial locality optimizations. There is no strict guarantee that the cell ID of a feature is related to the current geometry of the feature in any way.",
+          "format": "uint64",
+          "type": "string"
+        },
+        "fprint": {
+          "description": "A 64-bit fingerprint used to identify features. Most clients should rely on MapFacts or OneRing to choose fingerprints. If creating new fprints, the strategy should be chosen so that the chance of collision is remote or non-existent, and the distribution should be reasonably uniform. For example, if the source data assigns unique ids to features, then a fingerprint of the provider name, version, and source id is sufficient.",
+          "format": "uint64",
+          "type": "string"
+        },
+        "temporaryData": {
+          "$ref": "MessageSet",
+          "description": "A place for clients to attach arbitrary data to a feature ID. Never set in MapFacts."
+        }
+      },
+      "type": "object"
+    },
+    "GeocodingSummary": {
+      "description": "Detailed summary of the result from geocoding an address",
+      "id": "GeocodingSummary",
+      "properties": {
+        "addressUnderstood": {
+          "description": "Represents the best estimate of whether or not the input address was fully understood and the address is correctly componentized. Mirrors the same-name field in geostore.staging.AddressLinkupScoringProto.",
+          "type": "boolean"
+        },
+        "featureId": {
+          "$ref": "FeatureIdProto",
+          "description": "The ID of the FeatureProto returned by the geocoder"
+        },
+        "featureType": {
+          "description": "The feature type for the FeatureProto returned by the geocoder",
+          "enum": [
+            "typeAny",
+            "typeTransportation",
+            "typeRoute",
+            "typeDeprecatedHighwayDoNotUse",
+            "typeHighway",
+            "typeHighway1",
+            "typeHighway2",
+            "typeHighway3",
+            "typeHighway4",
+            "typeHighway5",
+            "typeHighway6",
+            "typeHighway7",
+            "typeHighway8",
+            "typeHighway9",
+            "typeBicycleRoute",
+            "typeTrail",
+            "typeSegment",
+            "typeRoad",
+            "typeRailway",
+            "typeStandardTrack",
+            "typeJrTrack",
+            "typeNarrowTrack",
+            "typeMonorailTrack",
+            "typeSubwayTrack",
+            "typeLightRailTrack",
+            "typeBroadTrack",
+            "typeHighSpeedRail",
+            "typeTrolleyTrack",
+            "typeFerry",
+            "typeFerryBoat",
+            "typeFerryTrain",
+            "typeVirtualSegment",
+            "typeIntersection",
+            "typeTransit",
+            "typeTransitStation",
+            "typeBusStation",
+            "typeTramwayStation",
+            "typeTrainStation",
+            "typeSubwayStation",
+            "typeFerryTerminal",
+            "typeAirport",
+            "typeAirportCivil",
+            "typeAirportMilitary",
+            "typeAirportMixed",
+            "typeHeliport",
+            "typeSeaplaneBase",
+            "typeAirstrip",
+            "typeCableCarStation",
+            "typeGondolaLiftStation",
+            "typeFunicularStation",
+            "typeSpecialStation",
+            "typeHorseCarriageStation",
+            "typeMonorailStation",
+            "typeSeaport",
+            "typeTransitStop",
+            "typeTransitTrip",
+            "typeTransitDeparture",
+            "typeTransitLeg",
+            "typeTransitLine",
+            "typeTransitAgency",
+            "typeTransitTransfer",
+            "typeSegmentPath",
+            "typeRoadSign",
+            "typeIntersectionGroup",
+            "typePathway",
+            "typeRestrictionGroup",
+            "typeTollCluster",
+            "typePolitical",
+            "typeCountry",
+            "typeAdministrativeArea",
+            "typeAdministrativeArea1",
+            "typeUsState",
+            "typeGbCountry",
+            "typeJpTodoufuken",
+            "typeAdministrativeArea2",
+            "typeGbFormerPostalCounty",
+            "typeGbTraditionalCounty",
+            "typeAdministrativeArea3",
+            "typeAdministrativeArea4",
+            "typeAdministrativeArea5",
+            "typeAdministrativeArea6",
+            "typeAdministrativeArea7",
+            "typeAdministrativeArea8",
+            "typeAdministrativeArea9",
+            "typeColloquialArea",
+            "typeReservation",
+            "typeLocality",
+            "typeGbPostTown",
+            "typeJpGun",
+            "typeJpShikuchouson",
+            "typeJpSubShikuchouson",
+            "typeColloquialCity",
+            "typeSublocality",
+            "typeUsBorough",
+            "typeGbDependentLocality",
+            "typeJpOoaza",
+            "typeJpKoaza",
+            "typeJpGaiku",
+            "typeGbDoubleDependentLocality",
+            "typeJpChiban",
+            "typeJpEdaban",
+            "typeSublocality1",
+            "typeSublocality2",
+            "typeSublocality3",
+            "typeSublocality4",
+            "typeSublocality5",
+            "typeNeighborhood",
+            "typeConstituency",
+            "typeDesignatedMarketArea",
+            "typeSchoolDistrict",
+            "typeLandParcel",
+            "typeDisputedArea",
+            "typePoliceJurisdiction",
+            "typeStatisticalArea",
+            "typeConstituencyFuture",
+            "typePark",
+            "typeGolfCourse",
+            "typeLocalPark",
+            "typeNationalPark",
+            "typeUsNationalPark",
+            "typeUsNationalMonument",
+            "typeNationalForest",
+            "typeProvincialPark",
+            "typeProvincialForest",
+            "typeCampgrounds",
+            "typeHikingArea",
+            "typeBusiness",
+            "typeGovernment",
+            "typeBorderCrossing",
+            "typeCityHall",
+            "typeCourthouse",
+            "typeEmbassy",
+            "typeLibrary",
+            "typeSchool",
+            "typeUniversity",
+            "typeEmergency",
+            "typeHospital",
+            "typePharmacy",
+            "typePolice",
+            "typeFire",
+            "typeDoctor",
+            "typeDentist",
+            "typeVeterinarian",
+            "typeTravelService",
+            "typeLodging",
+            "typeRestaurant",
+            "typeGasStation",
+            "typeParking",
+            "typePostOffice",
+            "typeRestArea",
+            "typeCashMachine",
+            "typeCarRental",
+            "typeCarRepair",
+            "typeShopping",
+            "typeGrocery",
+            "typeTouristDestination",
+            "typeEcoTouristDestination",
+            "typeBirdWatching",
+            "typeFishing",
+            "typeHunting",
+            "typeNatureReserve",
+            "typeTemple",
+            "typeChurch",
+            "typeGurudwara",
+            "typeHinduTemple",
+            "typeMosque",
+            "typeSynagogue",
+            "typeStadium",
+            "typeBar",
+            "typeMovieRental",
+            "typeCoffee",
+            "typeGolf",
+            "typeBank",
+            "typeDoodle",
+            "typeGrounds",
+            "typeAirportGrounds",
+            "typeBuildingGrounds",
+            "typeCemetery",
+            "typeHospitalGrounds",
+            "typeIndustrial",
+            "typeMilitary",
+            "typeShoppingCenter",
+            "typeSportsComplex",
+            "typeUniversityGrounds",
+            "typeDeprecatedTarmac",
+            "typeEnclosedTrafficArea",
+            "typeParkingLot",
+            "typeParkingGarage",
+            "typeOffRoadArea",
+            "typeBorder",
+            "typeBuilding",
+            "typeGeocodedAddress",
+            "typeNaturalFeature",
+            "typeTerrain",
+            "typeSand",
+            "typeBeach",
+            "typeDune",
+            "typeRocky",
+            "typeIce",
+            "typeGlacier",
+            "typeBuiltUpArea",
+            "typeVegetation",
+            "typeShrubbery",
+            "typeWoods",
+            "typeAgricultural",
+            "typeGrassland",
+            "typeTundra",
+            "typeDesert",
+            "typeSaltFlat",
+            "typeWater",
+            "typeOcean",
+            "typeBay",
+            "typeBight",
+            "typeLagoon",
+            "typeSea",
+            "typeStrait",
+            "typeInlet",
+            "typeFjord",
+            "typeLake",
+            "typeSeasonalLake",
+            "typeReservoir",
+            "typePond",
+            "typeRiver",
+            "typeRapids",
+            "typeDistributary",
+            "typeConfluence",
+            "typeWaterfall",
+            "typeSpring",
+            "typeGeyser",
+            "typeHotSpring",
+            "typeSeasonalRiver",
+            "typeWadi",
+            "typeEstuary",
+            "typeWetland",
+            "typeWaterNavigation",
+            "typeFord",
+            "typeCanal",
+            "typeHarbor",
+            "typeChannel",
+            "typeReef",
+            "typeReefFlat",
+            "typeReefGrowth",
+            "typeReefExtent",
+            "typeReefRockSubmerged",
+            "typeIrrigation",
+            "typeDam",
+            "typeDrinkingWater",
+            "typeCurrent",
+            "typeWateringHole",
+            "typeTectonic",
+            "typeWateringHoleDeprecated",
+            "typeVolcano",
+            "typeLavaField",
+            "typeFissure",
+            "typeFault",
+            "typeLandMass",
+            "typeContinent",
+            "typeIsland",
+            "typeAtoll",
+            "typeOceanRockExposed",
+            "typeCay",
+            "typePeninsula",
+            "typeIsthmus",
+            "typeElevated",
+            "typePeak",
+            "typeNunatak",
+            "typeSpur",
+            "typePass",
+            "typePlateau",
+            "typeRidge",
+            "typeRavine",
+            "typeCrater",
+            "typeKarst",
+            "typeCliff",
+            "typeVista",
+            "typeDigitalElevationModel",
+            "typeUpland",
+            "typeTerrace",
+            "typeSlope",
+            "typeContourLine",
+            "typePan",
+            "typeUnstableHillside",
+            "typeMountainRange",
+            "typeUndersea",
+            "typeSubmarineSeamount",
+            "typeSubmarineRidge",
+            "typeSubmarineGap",
+            "typeSubmarinePlateau",
+            "typeSubmarineDeep",
+            "typeSubmarineValley",
+            "typeSubmarineBasin",
+            "typeSubmarineSlope",
+            "typeSubmarineCliff",
+            "typeSubmarinePlain",
+            "typeSubmarineFractureZone",
+            "typeCave",
+            "typeRock",
+            "typeArchipelago",
+            "typePostal",
+            "typePostalCode",
+            "typePostalCodePrefix",
+            "typePremise",
+            "typeSubPremise",
+            "typeSuite",
+            "typePostTown",
+            "typePostalRound",
+            "typeMetaFeature",
+            "typeDataSource",
+            "typeLocale",
+            "typeTimezone",
+            "typeBusinessChain",
+            "typePhoneNumberPrefix",
+            "typePhoneNumberAreaCode",
+            "typeBusinessCorridor",
+            "typeAddressTemplate",
+            "typeEvent",
+            "typeEarthquake",
+            "typeHurricane",
+            "typeWeatherCondition",
+            "typeTransient",
+            "typeEntrance",
+            "typeCartographic",
+            "typeHighTension",
+            "typeSkiTrail",
+            "typeSkiLift",
+            "typeSkiBoundary",
+            "typeWatershedBoundary",
+            "typeTarmac",
+            "typeWall",
+            "typePicnicArea",
+            "typePlayGround",
+            "typeTrailHead",
+            "typeGolfTeeingGround",
+            "typeGolfPuttingGreen",
+            "typeGolfRough",
+            "typeGolfSandBunker",
+            "typeGolfFairway",
+            "typeGolfHole",
+            "typeDeprecatedGolfShop",
+            "typeCampingSite",
+            "typeDesignatedBarbecuePit",
+            "typeDesignatedCookingArea",
+            "typeCampfirePit",
+            "typeWaterFountain",
+            "typeLitterReceptacle",
+            "typeLockerArea",
+            "typeAnimalEnclosure",
+            "typeCartographicLine",
+            "typeEstablishment",
+            "typeEstablishmentGrounds",
+            "typeEstablishmentBuilding",
+            "typeEstablishmentPoi",
+            "typeEstablishmentService",
+            "typeCelestial",
+            "typeRoadMonitor",
+            "typePublicSpacesAndMonuments",
+            "typeStatue",
+            "typeTownSquare",
+            "typeLevel",
+            "typeCompound",
+            "typeCompoundGrounds",
+            "typeCompoundBuilding",
+            "typeCompoundSection",
+            "typeTerminalPoint",
+            "typeRegulatedArea",
+            "typeDoNotUseReservedToCatchGeneratedFiles",
+            "typeUnknown"
+          ],
+          "enumDescriptions": [
+            "ABSTRACT",
+            "ABSTRACT",
+            "A route is any section of road (or rails, etc.) that has a name. This includes city streets as well as highways. Road segments can belong to multiple routes (e.g. El Camino, CA-82).",
+            "DEPRECATED",
+            "ABSTRACT",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "A designated bicycle route, whose segments may consist of any combination of bicycle paths, bicycle lanes, or city streets.",
+            "A designated trail, which may consist of paved walkways, dirt paths, fire road, streets or highways, etc.",
+            "ABSTRACT",
+            "",
+            "Railroads use several different incompatible track types.",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "Tracks for streetcars, cable-cars, etc. Ferries are services that are part of the road network but are not roads. They typically involve fares and scheduled departure times.",
+            "ABSTRACT",
+            "The vast majority of ferries are ferry boats.",
+            "Also called a \"car transport\", a ferry train is a rail service that carries passengers and their vehicles across undrivable terrain. The Channel Tunnel (\"Chunnel\") is the most famous example, but they are also common in the Alps where they connect neighboring valleys otherwise separated by impassable mountains.",
+            "Any plausible 1-dimensional path through a 2+ dimensional space, for the purposes of making graph-search-based routing possible. Such segments can be used to model paths through parking lots, squares, floors of buildings and other areas.",
+            "An intersection consists of a collection of segments that terminate at the same location. This is topological definition: it may not match what a typical user would think of as an \"intersection\". See TYPE_INTERSECTION_GROUP, below, for more information. Each segment terminating at an intersection has an \"endpoint type\" that specifies how that segment is terminated: stop sign, yield sign, three-way light, etc.",
+            "ABSTRACT",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "A transit line is a collection of transit legs, associated with some invariant properties of the trips that run over the legs. See also transitline.proto",
+            "A transit agency operates a number of lines, typically all in the same city, region or country. See also transitagency.proto",
+            "DEPRECATED",
+            "ABSTRACT",
+            "Road sign features have names, point geometry, etc. They also have segment_path data (see below) which lists the segments that refer to the sign. See segment.proto for the reference from the segment to the road sign.",
+            "Our TYPE_INTERSECTION feature, above, models the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an \"intersection\". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. This TYPE_INTERSECTION_GROUP is used to model the user's concept of a complex intersection.",
+            "RESERVED",
+            "A restriction group describes a set of segment restrictions that belong together and have a name or an associated event. See also restriction_group.proto",
+            "A toll cluster is either a single point on a segment (represented as a point at the end of the segment that has ENDPOINT_TOLL_BOOTH set) or a group of points on various road segments in MapFacts that represents one or more lanes passing through a toll fixture that all go to the same routing destination. Each toll cluster should have at most a single price per payment method. E.g. {CASH = $5, PASS = $1}. Note: If a toll fixture has different prices for multiple routing destinations, drivers need to be in the correct lane before passing through the toll fixture and hence such a fixture is represented by multiple toll clusters. A toll cluster does not necessarily represent a real-world entity, e.g. a particular plaza/structure as perceived by humans. This is because a plaza can be represented by more than one toll cluster. We require toll clusters to have names, but they might be non-unique. For example, a plaza might be represented by multiple toll clusters that may have the same plaza name. For further details, please see go/toll-cluster-schema.",
+            "ABSTRACT",
+            "",
+            "ABSTRACT",
+            "",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "",
+            "DEPRECATED",
+            "DEPRECATED",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "e.g. Silicon Valley",
+            "A reservation is a region collectively held or governed by indigenous people and officially recognized by the country\u2019s government at the federal or state level. A reservation may be fully contained within an administrative feature or partially contained within two or more. These regions are referred to by different categorical names depending on country and even by state, including but not limited to: \u201cIndian Reservations\u201d, \u201cIndian Reserves\u201d, \u201cLand Claim Settlement Lands\u201d, \u201cIndian Lands\u201d, \u201cTreaty Lands\u201d, \u201cIndigenous Territories\u201d, etc. A reservation is not a historic indigenous territory boundary or a region which has applied for land rights but has not yet received official recognition.",
+            "",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "An entity widely considered to be a city, that may itself be made up of smaller political entities, some of which are cities/towns/villages themselves. For example, the colloquial view of Sydney, Australia actually comprises many smaller cities, but is regarded as a city itself. This type is not suitable for modeling official metro-/micropolitan or other statistical areas.",
+            "ABSTRACT",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "Designated Market Areas (or DMAs) are used by marketing and ratings companies (such as the Nielsen Media Research company) to describe geographical regions (such as the greater New York metropolitan area) that are covered by a set of television stations. (See http://www.schooldata.com/pdfs/DMA.pdf) In the United States, DMAs should have a DMA numeric ID name, tagged with the FLAG_DESIGNATED_MARKET_AREA_ID flag.",
+            "",
+            "",
+            "Eventually we'll have more data for disputed areas (e.g., who makes claims on the area, who has de facto control, etc.). For the moment, we just define a type so we can simply mark areas as disputed.",
+            "Boundaries representing the jurisdiction of a particular police station.",
+            "An area used for aggregating statistical data, eg, a census region. Note that TYPE_STATISTICAL_AREA has a third nibble so we can add an abstract parent above it later if need be at 0x2E1 (and rename TYPE_STATISTICAL_AREA as TYPE_STATISTICAL_AREA1).",
+            "RESERVED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "A line representing the boundary between two features. See border.proto for details.",
+            "DEPRECATED",
+            "An association of a point with an address, with no other information.",
+            "ABSTRACT",
+            "Expanses of land that share common surface attributes. These areas would look more or less uniform from a high altitude.",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "Terrain that looks populated.",
+            "Terrain that is covered in vegetation.",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "A flat expanse of salt left by the evaporation of a body of salt water.",
+            "Features can be TYPE_WATER if we don't have enough information to properly type the body of water. TYPE_WATER is also used as the type for child features that compose a TYPE_RIVER feature.",
+            "One of the large salt-water bodies that covers most of the globe.",
+            "An ocean subdivision formed by a coastal indentation. Includes coves and gulfs.",
+            "An open body of water formed by a slight coastal indentation.",
+            "",
+            "An ocean subdivision more or less confined by land and islands.",
+            "A long narrow ocean subdivision. Includes sounds.",
+            "",
+            "",
+            "An inland body of standing water.",
+            "A lake that dries up part of the year.",
+            "An artificial body of water, possibly created by a dam, often used for irrigation or house use.",
+            "",
+            "An inland body of moving water, or parts associated with it in which there is little or no current (backwater).",
+            "",
+            "A branch which flows away from the main river. Includes deltas.",
+            "A place where two or more rivers join.",
+            "",
+            "A place where ground water flows naturally out of the ground.",
+            "",
+            "",
+            "A river that dries up part of the year.",
+            "A dry riverbed that occasionally receives flashfloods.",
+            "A place at the end of a river where fresh and salt water mix. Includes tidal creeks and limans.",
+            "Land that is usually flooded. Includes bogs, marshes, flats, moors, and swamps.",
+            "",
+            "A shallow place where water may be waded through.",
+            "A narrow passage used by boats. Normally artificial.",
+            "A deep place near a shore where ships commonly drop anchor.",
+            "A deep part in a body of water that is suitable for navigation. Includes narrows.",
+            "Rocks, coral, sandbars, or other features beneath the surface of the water that pose a hazard to passing ships. Includes shoals.",
+            "A relatively shallow zone of the back reef located closest to the shore, that may be exposed at low tide.",
+            "A small section of rocks, coral, sandbars, or other features beneath the surface of the water that forms part of a reef.",
+            "The full extent of the reef complex.",
+            "A submerged rock in the water.",
+            "Man-made (and sometimes natural) channels used to move water. This type was used for both dam structures and water that is hold back by dams. We should use TYPE_COMPOUND_BUILDING for dam structures and TYPE_RESERVOIR for water.",
+            "DEPRECATED",
+            "",
+            "Includes overfalls.",
+            "A natural depression filled with water where animals come to drink.",
+            "ABSTRACT This type is incorrectly under TYPE_TECTONIC instead of TYPE_WATER. This was a mistake and is now fixed. See TYPE_WATERING_HOLE for the replacement.",
+            "DEPRECATED",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "An exposed rock in the water.",
+            "A small, low-elevation, sandy island formed on the surface of coral reefs",
+            "A stretch of land projecting into water. Includes capes and spits.",
+            "A strip of land connecting two larger land masses, such as continents.",
+            "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.",
+            "Elevations that have a distinctive peak.",
+            "A peak or ridge of a mountain that extends through a glacier.",
+            "A subsidiary peak of a mountain.",
+            "A route over an otherwise difficult to traverse feature. Includes saddle.",
+            "Elevations that are flat on top. Includes mesas and buttes.",
+            "A ridge is a geographical feature consisting of a chain of mountains or hills that form a continuous elevated crest with a single ridgeline for some distance.",
+            "Steep declines usually carved by erosion. Includes valleys, canyons, ditches, and gorges.",
+            "Depressions causes by impact, explosion, and sometimes sink-holes.",
+            "Topography formed on limestone and gypsum by dissolution with sinkholes, caves, etc.",
+            "A vertical or nearly vertical slope. Includes escarpments.",
+            "An elevated place that is notable for having a good view. Raster digital elevation data. This is not a type to be used by providers or consumed by clients.",
+            "RESERVED",
+            "Land along streams higher than the alluvial plain or stream terrace.",
+            "",
+            "Land not so steep as a cliff, but changing elevation. Includes slides.",
+            "All the points on the polygon are at the same elevation.",
+            "A near-level shallow, natural depression or basin, usually containing an intermittent lake, pond, or pool.",
+            "",
+            "A series of mountains or hills ranged in a line and connected by high ground. Mountain ranges usually consist of many smaller ridges. For example, the Himalayas, the Andes. the Alps, etc.",
+            "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.",
+            "includes peaks, ranges, and spurs",
+            "",
+            "includes saddles",
+            "",
+            "",
+            "includes trenches and troughs",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "Don't use 0xA7. Use 8 bits for additional types under TYPE_NATURAL_FEATURE, so we don't run out of space. The following are miscellaneous natural features that don't fit any of the categories above.",
+            "",
+            "A feature representing a group or chain of islands. ",
+            "ABSTRACT",
+            "This is the type for postal codes which are complete and independent enough that there should be a feature for them (e.g. US 5-digit ZIP codes). For even more detailed suffixes that further subdivide a postal code (such as the +4 component in US ZIP codes), store the information in a TYPE_POSTAL_CODE_SUFFIX address component. When a range or set of postal codes share the same geographical area, e.g. because a precise subdivision does not exist or this subdivision is unknown, this type is used for each individual postal code.",
+            "A prefix portion of a postal code which does not meet the requirements for TYPE_POSTAL_CODE, but which is useful to search for, for example UK outcodes.",
+            "DEPRECATED",
+            "DEPRECATED This is deprecated and we want to use TYPE_COMPOUND_SECTION instead.",
+            "DEPRECATED",
+            "The term \"post town\" is used for a locality-like-entity that is only used for postal addresses.",
+            "DEPRECATED",
+            "ABSTRACT",
+            "Every data source used in constructing a data repository has a corresponding feature that provides more information about that data source. The extra information is stored in the optional data_source field below.",
+            "A locale feature provides region specific conventions such as preferred language and formatting details for time, date, and currency values. Locales aren't necessary defined by physical geographic features, so they are classified as meta-features.",
+            "A timezone feature is used to specify the region covering an international timezone. When a point is covered by multiple timezone features, the most specific one can be used to compute the local time at this point. Most specific implies a much smaller region or the one that is closer to the center. A feature's timezone can be specified in the repeated related_timezone field.",
+            "A business chain feature is used to represent a chain, e.g. Starbucks, McDonald's, etc. Other features representing specific stores/franchises of this chain may refer to one such feature via RELATION_MEMBER_OF_CHAIN. This is not strictly reserved to commercial chains but can also be used to model organizations such as the Red Cross or the United Nations.",
+            "A phone number prefix feature is used to specify the region where phone numbers (typically fixed-line numbers) must begin with a certain prefix. Any phone number prefix down to any level of granularity could be represented by this type.",
+            "A phone number area code is a prefix which also coincides with the area code, or national destination code, of a particular region.",
+            "A Business Corridor is a dense cluster of semantically similar establishments. TYPE_BUSINESS_CORRIDOR features are distinguished from TYPE_COLLOQUIAL_AREA features because the corridors are not under the political hierarchy, are allowed to be nameless, and may not correspond to well-known real world locations. For more details, see go/geo-corridors-schema.",
+            "An address template feature provides region-specific conventions for structuring addresses. These features aren't necessarily defined by physical geographic features, so they are classified as meta-features.",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "DEPRECATED",
+            "RESERVED",
+            "A portal of entry or exit to another feature. Examples: - Subway station entrance. - Parking lot entrance.",
+            "Cartographic features are used to capture real-world objects for which there is no current desire to model any specific attributes. These are only useful to make the map tiles look pretty.",
+            "DEPRECATED",
+            "Also see skitrail.proto",
+            "Also see skilift.proto",
+            "Also see skiboundary.proto",
+            "",
+            "Starting with TYPE_TARMAC, we use longer IDs, so that we can expand the number of feature types under TYPE_CARTOGRAPHIC.",
+            "Use TYPE_COMPOUND_GROUND and appropriate gcids for the next two.",
+            "DEPRECATED",
+            "DEPRECATED",
+            "",
+            "Sub-types within a golf course.",
+            "",
+            "",
+            "",
+            "",
+            "Use TYPE_ESTABLISHMENT_POI and gcid:golf_shop for golf shops instead.",
+            "DEPRECATED",
+            "DEPRECATED",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "Subtype within a zoo - a cage or fenced-off or otherwise delineated area containing animals.",
+            "A line for a cartographic detail. For example the international date line. Such features should have polyline geometry.",
+            "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2",
+            "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds",
+            "DEPRECATED",
+            "Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.",
+            "Represents service-only establishments (those without a storefront location). NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.",
+            "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.",
+            "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.",
+            "ABSTRACT",
+            "Note that this type does not distinguish the nature of the statue (religious, historical, memorial, tourist, ...).",
+            "Open space used for events, gathering, or as market-place.",
+            "A feature used to represent a logical level, e.g. floor.",
+            "ABSTRACT",
+            "e.g. campus, compound, parcel.",
+            "e.g. single family dwelling, office building.",
+            "e.g. suite, room, hallway, cubicle.",
+            "A terminal point represents a good location for a user to meet a taxi, ridesharing vehicle, or general driver.",
+            "An area controlled in some way by an authoritative source, such as a government-designated COVID containment zone. Features of this type should have one or more gcids corresponding to their specific regulation.",
+            "DEPRECATED",
+            "A feature of completely unknown type. This should only be used when absolutely necessary. One example in which this type is useful is in the Chinese importer, which must heuristically segment addresses into components - it often does not know what types to make those components. Please note that the Oyster address formatter does not currently support address components of TYPE_UNKNOWN well."
+          ],
+          "type": "string"
+        },
+        "positionPrecisionMeters": {
+          "description": "Precision of the center point (lat/long) of the geocoded FeatureProto",
+          "format": "double",
+          "type": "number"
+        },
+        "queryString": {
+          "description": "The query sent to the geocoder",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GeographicDivision": {
       "description": "Describes a political geography.",
       "id": "GeographicDivision",
@@ -877,6 +1664,12 @@
       },
       "type": "object"
     },
+    "MessageSet": {
+      "description": "This is proto2's version of MessageSet.",
+      "id": "MessageSet",
+      "properties": {},
+      "type": "object"
+    },
     "Office": {
       "description": "Information about an Office held by one or more Officials.",
       "id": "Office",
@@ -996,6 +1789,13 @@
           },
           "type": "array"
         },
+        "geocodingSummaries": {
+          "description": "Detailed summary about the official's address's geocoding",
+          "items": {
+            "$ref": "GeocodingSummary"
+          },
+          "type": "array"
+        },
         "name": {
           "description": "The official's name.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/classroom.v1.json b/googleapiclient/discovery_cache/documents/classroom.v1.json
index 862ef1f..b0a3d39 100644
--- a/googleapiclient/discovery_cache/documents/classroom.v1.json
+++ b/googleapiclient/discovery_cache/documents/classroom.v1.json
@@ -2400,7 +2400,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211203",
   "rootUrl": "https://classroom.googleapis.com/",
   "schemas": {
     "Announcement": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1.json
index b58a913..89b666e 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1.json
@@ -894,7 +894,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211210",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AccessSelector": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
index 79151fa..fd3a7dd 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
@@ -411,7 +411,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211210",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
index b7dfaef..1d2b160 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
@@ -207,7 +207,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211210",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
index 057a7a7..535171a 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
@@ -221,7 +221,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211210",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AccessSelector": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
index 190740c..8add6ec 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
@@ -177,7 +177,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211210",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
index b9012fe..b8eadcd 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
@@ -167,7 +167,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211210",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/cloudbilling.v1.json b/googleapiclient/discovery_cache/documents/cloudbilling.v1.json
index a7f831b..05281fa 100644
--- a/googleapiclient/discovery_cache/documents/cloudbilling.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbilling.v1.json
@@ -369,7 +369,7 @@
     "projects": {
       "methods": {
         "getBillingInfo": {
-          "description": "Gets the billing information for a project. The current authenticated user must have [permission to view the project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ).",
+          "description": "Gets the billing information for a project. The current authenticated user must have the `resourcemanager.projects.get` permission for the project, which can be granted by assigning the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) role.",
           "flatPath": "v1/projects/{projectsId}/billingInfo",
           "httpMethod": "GET",
           "id": "cloudbilling.projects.getBillingInfo",
@@ -521,7 +521,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211211",
   "rootUrl": "https://cloudbilling.googleapis.com/",
   "schemas": {
     "AggregationInfo": {
diff --git a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
index 5c7ad60..bc69e21 100644
--- a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
@@ -1589,7 +1589,7 @@
       }
     }
   },
-  "revision": "20211202",
+  "revision": "20211211",
   "rootUrl": "https://cloudchannel.googleapis.com/",
   "schemas": {
     "GoogleCloudChannelV1ActivateEntitlementRequest": {
diff --git a/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json b/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
index e5a3dff..73a6e5b 100644
--- a/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
@@ -430,7 +430,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211202",
   "rootUrl": "https://clouderrorreporting.googleapis.com/",
   "schemas": {
     "DeleteEventsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
index d572a4e..639d596 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
@@ -546,7 +546,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211206",
   "rootUrl": "https://cloudfunctions.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudidentity.v1.json b/googleapiclient/discovery_cache/documents/cloudidentity.v1.json
index be7ea14..201d3ea 100644
--- a/googleapiclient/discovery_cache/documents/cloudidentity.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudidentity.v1.json
@@ -757,6 +757,39 @@
             "https://www.googleapis.com/auth/cloud-platform"
           ]
         },
+        "getSecuritySettings": {
+          "description": "Get Security Settings",
+          "flatPath": "v1/groups/{groupsId}/securitySettings",
+          "httpMethod": "GET",
+          "id": "cloudidentity.groups.getSecuritySettings",
+          "parameterOrder": [
+            "name"
+          ],
+          "parameters": {
+            "name": {
+              "description": "Required. The security settings to retrieve. Format: `groups/{group_id}/securitySettings`",
+              "location": "path",
+              "pattern": "^groups/[^/]+/securitySettings$",
+              "required": true,
+              "type": "string"
+            },
+            "readMask": {
+              "description": "Field-level read mask of which fields to return. \"*\" returns all fields. If not specified, all fields will be returned. May only contain the following field: `member_restriction`.",
+              "format": "google-fieldmask",
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "v1/{+name}",
+          "response": {
+            "$ref": "SecuritySettings"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-identity.groups",
+            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
+            "https://www.googleapis.com/auth/cloud-platform"
+          ]
+        },
         "list": {
           "description": "Lists the `Group` resources under a customer or namespace.",
           "flatPath": "v1/groups",
@@ -917,6 +950,41 @@
             "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
             "https://www.googleapis.com/auth/cloud-platform"
           ]
+        },
+        "updateSecuritySettings": {
+          "description": "Update Security Settings",
+          "flatPath": "v1/groups/{groupsId}/securitySettings",
+          "httpMethod": "PATCH",
+          "id": "cloudidentity.groups.updateSecuritySettings",
+          "parameterOrder": [
+            "name"
+          ],
+          "parameters": {
+            "name": {
+              "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.",
+              "location": "path",
+              "pattern": "^groups/[^/]+/securitySettings$",
+              "required": true,
+              "type": "string"
+            },
+            "updateMask": {
+              "description": "Required. The fully-qualified names of fields to update. May only contain the following field: `member_restriction.query`.",
+              "format": "google-fieldmask",
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "v1/{+name}",
+          "request": {
+            "$ref": "SecuritySettings"
+          },
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-identity.groups",
+            "https://www.googleapis.com/auth/cloud-platform"
+          ]
         }
       },
       "resources": {
@@ -1273,7 +1341,7 @@
       }
     }
   },
-  "revision": "20211116",
+  "revision": "20211207",
   "rootUrl": "https://cloudidentity.googleapis.com/",
   "schemas": {
     "CheckTransitiveMembershipResponse": {
@@ -2404,6 +2472,21 @@
       },
       "type": "object"
     },
+    "MemberRestriction": {
+      "description": "The definition of MemberRestriction",
+      "id": "MemberRestriction",
+      "properties": {
+        "evaluation": {
+          "$ref": "RestrictionEvaluation",
+          "description": "The evaluated state of this restriction on a group."
+        },
+        "query": {
+          "description": "Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&&`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 && member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Membership": {
       "description": "A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a \"member\".",
       "id": "Membership",
@@ -2489,6 +2572,36 @@
         "name": {
           "description": "The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.",
           "type": "string"
+        },
+        "restrictionEvaluations": {
+          "$ref": "RestrictionEvaluations",
+          "description": "Evaluations of restrictions applied to parent group on this membership."
+        }
+      },
+      "type": "object"
+    },
+    "MembershipRoleRestrictionEvaluation": {
+      "description": "The evaluated state of this restriction.",
+      "id": "MembershipRoleRestrictionEvaluation",
+      "properties": {
+        "state": {
+          "description": "Output only. The current state of the restriction",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "COMPLIANT",
+            "FORWARD_COMPLIANT",
+            "NON_COMPLIANT",
+            "EVALUATING"
+          ],
+          "enumDescriptions": [
+            "Default. Should not be used.",
+            "The member adheres to the parent group\u2019s restriction.",
+            "The group-group membership might be currently violating some parent group's restriction but in future, it will never allow any new member in the child group which can violate parent group's restriction.",
+            "The member violates the parent group\u2019s restriction.",
+            "The state of the membership is under evaluation."
+          ],
+          "readOnly": true,
+          "type": "string"
         }
       },
       "type": "object"
@@ -2567,6 +2680,43 @@
       },
       "type": "object"
     },
+    "RestrictionEvaluation": {
+      "description": "The evaluated state of this restriction.",
+      "id": "RestrictionEvaluation",
+      "properties": {
+        "state": {
+          "description": "Output only. The current state of the restriction",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "EVALUATING",
+            "COMPLIANT",
+            "FORWARD_COMPLIANT",
+            "NON_COMPLIANT"
+          ],
+          "enumDescriptions": [
+            "Default. Should not be used.",
+            "The restriction state is currently being evaluated.",
+            "All transitive memberships are adhering to restriction.",
+            "Some transitive memberships violate the restriction. No new violating memberships can be added.",
+            "Some transitive memberships violate the restriction. New violating direct memberships will be denied while indirect memberships may be added."
+          ],
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "RestrictionEvaluations": {
+      "description": "Evaluations of restrictions applied to parent group on this membership.",
+      "id": "RestrictionEvaluations",
+      "properties": {
+        "memberRestrictionEvaluation": {
+          "$ref": "MembershipRoleRestrictionEvaluation",
+          "description": "Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation."
+        }
+      },
+      "type": "object"
+    },
     "SearchGroupsResponse": {
       "description": "The response message for GroupsService.SearchGroups.",
       "id": "SearchGroupsResponse",
@@ -2621,6 +2771,22 @@
       },
       "type": "object"
     },
+    "SecuritySettings": {
+      "description": "The definition of security settings.",
+      "id": "SecuritySettings",
+      "properties": {
+        "memberRestriction": {
+          "$ref": "MemberRestriction",
+          "description": "The Member Restriction value"
+        },
+        "name": {
+          "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Status": {
       "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
diff --git a/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json
index f5a89b4..3739531 100644
--- a/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json
@@ -1404,7 +1404,7 @@
       }
     }
   },
-  "revision": "20211116",
+  "revision": "20211207",
   "rootUrl": "https://cloudidentity.googleapis.com/",
   "schemas": {
     "AndroidAttributes": {
@@ -1516,9 +1516,9 @@
       },
       "type": "object"
     },
-    "CertificateInfo": {
+    "CertificateAttributes": {
       "description": "Stores information about a certificate.",
-      "id": "CertificateInfo",
+      "id": "CertificateAttributes",
       "properties": {
         "certificateTemplate": {
           "$ref": "CertificateTemplate",
@@ -2138,13 +2138,13 @@
       "type": "object"
     },
     "EndpointVerificationSpecificAttributes": {
-      "description": "Resource representing the Endpoint Verification-specific attributes of a Device.",
+      "description": "Resource representing the Endpoint Verification-specific attributes of a Device. https://cloud.google.com/endpoint-verification/docs/overview",
       "id": "EndpointVerificationSpecificAttributes",
       "properties": {
-        "certificateInfo": {
+        "certificateAttributes": {
           "description": "Details of certificates.",
           "items": {
-            "$ref": "CertificateInfo"
+            "$ref": "CertificateAttributes"
           },
           "type": "array"
         }
diff --git a/googleapiclient/discovery_cache/documents/cloudkms.v1.json b/googleapiclient/discovery_cache/documents/cloudkms.v1.json
index 6acb3b1..d070c19 100644
--- a/googleapiclient/discovery_cache/documents/cloudkms.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudkms.v1.json
@@ -1440,7 +1440,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211209",
   "rootUrl": "https://cloudkms.googleapis.com/",
   "schemas": {
     "AsymmetricDecryptRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json b/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
index a204084..cbafac9 100644
--- a/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://cloudprofiler.googleapis.com/",
   "schemas": {
     "CreateProfileRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
index 7eaa270..80725cd 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
@@ -1171,7 +1171,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211206",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "Ancestor": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
index 33d6922..1130f1c 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
@@ -566,7 +566,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211206",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "Ancestor": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
index 4b4b799..8a63fbc 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211206",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
index 9b3595e..4eb4146 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211206",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
index 209e2d2..3f8e7d9 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
@@ -1612,7 +1612,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211206",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
index f6290e5..421f0da 100644
--- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
@@ -418,7 +418,7 @@
       }
     }
   },
-  "revision": "20211106",
+  "revision": "20211202",
   "rootUrl": "https://cloudscheduler.googleapis.com/",
   "schemas": {
     "AppEngineHttpTarget": {
diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
index 3fb11fc..8361ac2 100644
--- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
@@ -433,7 +433,7 @@
       }
     }
   },
-  "revision": "20211106",
+  "revision": "20211202",
   "rootUrl": "https://cloudscheduler.googleapis.com/",
   "schemas": {
     "AppEngineHttpTarget": {
diff --git a/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json b/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json
index c0bbe5b..4adcfc9 100644
--- a/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json
@@ -580,7 +580,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://cloudsupport.googleapis.com/",
   "schemas": {
     "Actor": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
index c0e5fea..88a4f35 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
@@ -685,7 +685,7 @@
       }
     }
   },
-  "revision": "20211103",
+  "revision": "20211130",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AppEngineHttpRequest": {
@@ -880,7 +880,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -900,7 +900,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.",
+          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.",
           "type": "object"
         },
         "httpMethod": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
index 4bcf304..cca875a 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
@@ -809,7 +809,7 @@
       }
     }
   },
-  "revision": "20211103",
+  "revision": "20211130",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AcknowledgeTaskRequest": {
@@ -1049,7 +1049,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
index f73f1e5..a7adad9 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
@@ -697,7 +697,7 @@
       }
     }
   },
-  "revision": "20211103",
+  "revision": "20211130",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AppEngineHttpQueue": {
@@ -903,7 +903,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -923,7 +923,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.",
+          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.",
           "type": "object"
         },
         "httpMethod": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v1.json b/googleapiclient/discovery_cache/documents/cloudtrace.v1.json
index 26c8a7e..beeb847 100644
--- a/googleapiclient/discovery_cache/documents/cloudtrace.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudtrace.v1.json
@@ -257,7 +257,7 @@
       }
     }
   },
-  "revision": "20211115",
+  "revision": "20211203",
   "rootUrl": "https://cloudtrace.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v2.json b/googleapiclient/discovery_cache/documents/cloudtrace.v2.json
index d065cb8..169eedf 100644
--- a/googleapiclient/discovery_cache/documents/cloudtrace.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudtrace.v2.json
@@ -181,7 +181,7 @@
       }
     }
   },
-  "revision": "20211115",
+  "revision": "20211203",
   "rootUrl": "https://cloudtrace.googleapis.com/",
   "schemas": {
     "Annotation": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json b/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json
index 63ca44a..fc19a8e 100644
--- a/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json
@@ -273,7 +273,7 @@
       }
     }
   },
-  "revision": "20211115",
+  "revision": "20211203",
   "rootUrl": "https://cloudtrace.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/composer.v1.json b/googleapiclient/discovery_cache/documents/composer.v1.json
index d1b3baf..f537c7f 100644
--- a/googleapiclient/discovery_cache/documents/composer.v1.json
+++ b/googleapiclient/discovery_cache/documents/composer.v1.json
@@ -406,7 +406,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211208",
   "rootUrl": "https://composer.googleapis.com/",
   "schemas": {
     "AllowedIpRange": {
diff --git a/googleapiclient/discovery_cache/documents/composer.v1beta1.json b/googleapiclient/discovery_cache/documents/composer.v1beta1.json
index 1f5fb11..489970a 100644
--- a/googleapiclient/discovery_cache/documents/composer.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/composer.v1beta1.json
@@ -462,7 +462,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211208",
   "rootUrl": "https://composer.googleapis.com/",
   "schemas": {
     "AllowedIpRange": {
diff --git a/googleapiclient/discovery_cache/documents/container.v1.json b/googleapiclient/discovery_cache/documents/container.v1.json
index ba4df86..a99b984 100644
--- a/googleapiclient/discovery_cache/documents/container.v1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1.json
@@ -2459,7 +2459,7 @@
       }
     }
   },
-  "revision": "20211104",
+  "revision": "20211109",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/container.v1beta1.json b/googleapiclient/discovery_cache/documents/container.v1beta1.json
index a9ad8a5..5a88d07 100644
--- a/googleapiclient/discovery_cache/documents/container.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json
@@ -2484,7 +2484,7 @@
       }
     }
   },
-  "revision": "20211104",
+  "revision": "20211109",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1.json
index fd26561..818add5 100644
--- a/googleapiclient/discovery_cache/documents/containeranalysis.v1.json
+++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1.json
@@ -105,129 +105,6 @@
   },
   "protocol": "rest",
   "resources": {
-    "operations": {
-      "methods": {
-        "cancel": {
-          "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
-          "flatPath": "v1/operations/{operationsId}:cancel",
-          "httpMethod": "POST",
-          "id": "containeranalysis.operations.cancel",
-          "parameterOrder": [
-            "name"
-          ],
-          "parameters": {
-            "name": {
-              "description": "The name of the operation resource to be cancelled.",
-              "location": "path",
-              "pattern": "^operations/.*$",
-              "required": true,
-              "type": "string"
-            }
-          },
-          "path": "v1/{+name}:cancel",
-          "request": {
-            "$ref": "CancelOperationRequest"
-          },
-          "response": {
-            "$ref": "Empty"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/cloud-platform"
-          ]
-        },
-        "delete": {
-          "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
-          "flatPath": "v1/operations/{operationsId}",
-          "httpMethod": "DELETE",
-          "id": "containeranalysis.operations.delete",
-          "parameterOrder": [
-            "name"
-          ],
-          "parameters": {
-            "name": {
-              "description": "The name of the operation resource to be deleted.",
-              "location": "path",
-              "pattern": "^operations/.*$",
-              "required": true,
-              "type": "string"
-            }
-          },
-          "path": "v1/{+name}",
-          "response": {
-            "$ref": "Empty"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/cloud-platform"
-          ]
-        },
-        "get": {
-          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
-          "flatPath": "v1/operations/{operationsId}",
-          "httpMethod": "GET",
-          "id": "containeranalysis.operations.get",
-          "parameterOrder": [
-            "name"
-          ],
-          "parameters": {
-            "name": {
-              "description": "The name of the operation resource.",
-              "location": "path",
-              "pattern": "^operations/.*$",
-              "required": true,
-              "type": "string"
-            }
-          },
-          "path": "v1/{+name}",
-          "response": {
-            "$ref": "Operation"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/cloud-platform"
-          ]
-        },
-        "list": {
-          "description": "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.",
-          "flatPath": "v1/operations",
-          "httpMethod": "GET",
-          "id": "containeranalysis.operations.list",
-          "parameterOrder": [
-            "name"
-          ],
-          "parameters": {
-            "filter": {
-              "description": "The standard list filter.",
-              "location": "query",
-              "type": "string"
-            },
-            "name": {
-              "description": "The name of the operation's parent resource.",
-              "location": "path",
-              "pattern": "^operations$",
-              "required": true,
-              "type": "string"
-            },
-            "pageSize": {
-              "description": "The standard list page size.",
-              "format": "int32",
-              "location": "query",
-              "type": "integer"
-            },
-            "pageToken": {
-              "description": "The standard list page token.",
-              "location": "query",
-              "type": "string"
-            }
-          },
-          "path": "v1/{+name}",
-          "response": {
-            "$ref": "ListOperationsResponse"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/cloud-platform"
-          ]
-        }
-      }
-    },
     "projects": {
       "resources": {
         "notes": {
@@ -878,7 +755,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://containeranalysis.googleapis.com/",
   "schemas": {
     "AliasContext": {
@@ -1159,6 +1036,158 @@
       },
       "type": "object"
     },
+    "CVSS": {
+      "description": "Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score.",
+      "id": "CVSS",
+      "properties": {
+        "attackComplexity": {
+          "enum": [
+            "ATTACK_COMPLEXITY_UNSPECIFIED",
+            "ATTACK_COMPLEXITY_LOW",
+            "ATTACK_COMPLEXITY_HIGH"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "attackVector": {
+          "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.",
+          "enum": [
+            "ATTACK_VECTOR_UNSPECIFIED",
+            "ATTACK_VECTOR_NETWORK",
+            "ATTACK_VECTOR_ADJACENT",
+            "ATTACK_VECTOR_LOCAL",
+            "ATTACK_VECTOR_PHYSICAL"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "authentication": {
+          "enum": [
+            "AUTHENTICATION_UNSPECIFIED",
+            "AUTHENTICATION_MULTIPLE",
+            "AUTHENTICATION_SINGLE",
+            "AUTHENTICATION_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "availabilityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "baseScore": {
+          "description": "The base score is a function of the base metric scores.",
+          "format": "float",
+          "type": "number"
+        },
+        "confidentialityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "exploitabilityScore": {
+          "format": "float",
+          "type": "number"
+        },
+        "impactScore": {
+          "format": "float",
+          "type": "number"
+        },
+        "integrityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "privilegesRequired": {
+          "enum": [
+            "PRIVILEGES_REQUIRED_UNSPECIFIED",
+            "PRIVILEGES_REQUIRED_NONE",
+            "PRIVILEGES_REQUIRED_LOW",
+            "PRIVILEGES_REQUIRED_HIGH"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "scope": {
+          "enum": [
+            "SCOPE_UNSPECIFIED",
+            "SCOPE_UNCHANGED",
+            "SCOPE_CHANGED"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "userInteraction": {
+          "enum": [
+            "USER_INTERACTION_UNSPECIFIED",
+            "USER_INTERACTION_NONE",
+            "USER_INTERACTION_REQUIRED"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "CVSSv3": {
       "description": "Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document",
       "id": "CVSSv3",
@@ -1296,12 +1325,6 @@
       },
       "type": "object"
     },
-    "CancelOperationRequest": {
-      "description": "The request message for Operations.CancelOperation.",
-      "id": "CancelOperationRequest",
-      "properties": {},
-      "type": "object"
-    },
     "Category": {
       "description": "The category to which the update belongs.",
       "id": "Category",
@@ -3204,24 +3227,6 @@
       },
       "type": "object"
     },
-    "ListOperationsResponse": {
-      "description": "The response message for Operations.ListOperations.",
-      "id": "ListOperationsResponse",
-      "properties": {
-        "nextPageToken": {
-          "description": "The standard List next-page token.",
-          "type": "string"
-        },
-        "operations": {
-          "description": "A list of operations that matches the specified filter in the request.",
-          "items": {
-            "$ref": "Operation"
-          },
-          "type": "array"
-        }
-      },
-      "type": "object"
-    },
     "Location": {
       "description": "An occurrence of a particular package installation found within a system's filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.",
       "id": "Location",
@@ -3529,41 +3534,6 @@
       },
       "type": "object"
     },
-    "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a network API call.",
-      "id": "Operation",
-      "properties": {
-        "done": {
-          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
-          "type": "boolean"
-        },
-        "error": {
-          "$ref": "Status",
-          "description": "The error result of the operation in case of failure or cancellation."
-        },
-        "metadata": {
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
-          "type": "object"
-        },
-        "name": {
-          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
-          "type": "string"
-        },
-        "response": {
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "The normal 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`.",
-          "type": "object"
-        }
-      },
-      "type": "object"
-    },
     "PackageIssue": {
       "description": "A detail for a distro and package this vulnerability occurrence was found in and its associated fix (if one is available).",
       "id": "PackageIssue",
@@ -4224,6 +4194,10 @@
           "format": "float",
           "type": "number"
         },
+        "cvssv3": {
+          "$ref": "CVSS",
+          "description": "The cvss v3 score for the vulnerability."
+        },
         "effectiveSeverity": {
           "description": "The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.",
           "enum": [
diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
index 5813d99..9c0eeec 100644
--- a/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
@@ -1229,7 +1229,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://containeranalysis.googleapis.com/",
   "schemas": {
     "Artifact": {
diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json
index e757490..69b4f44 100644
--- a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json
@@ -853,7 +853,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://containeranalysis.googleapis.com/",
   "schemas": {
     "AliasContext": {
diff --git a/googleapiclient/discovery_cache/documents/customsearch.v1.json b/googleapiclient/discovery_cache/documents/customsearch.v1.json
index f00c62f..cb74e45 100644
--- a/googleapiclient/discovery_cache/documents/customsearch.v1.json
+++ b/googleapiclient/discovery_cache/documents/customsearch.v1.json
@@ -674,7 +674,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://customsearch.googleapis.com/",
   "schemas": {
     "Promotion": {
diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1.json
index da0fe24..29db0d3 100644
--- a/googleapiclient/discovery_cache/documents/datacatalog.v1.json
+++ b/googleapiclient/discovery_cache/documents/datacatalog.v1.json
@@ -607,6 +607,34 @@
                         "https://www.googleapis.com/auth/cloud-platform"
                       ]
                     },
+                    "star": {
+                      "description": "Marks an Entry as starred by the current user. Starring information is private to each user.",
+                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:star",
+                      "httpMethod": "POST",
+                      "id": "datacatalog.projects.locations.entryGroups.entries.star",
+                      "parameterOrder": [
+                        "name"
+                      ],
+                      "parameters": {
+                        "name": {
+                          "description": "Required. The name of the entry to mark as starred.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
+                          "required": true,
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1/{+name}:star",
+                      "request": {
+                        "$ref": "GoogleCloudDatacatalogV1StarEntryRequest"
+                      },
+                      "response": {
+                        "$ref": "GoogleCloudDatacatalogV1StarEntryResponse"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
+                    },
                     "testIamPermissions": {
                       "description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions",
@@ -634,13 +662,41 @@
                       "scopes": [
                         "https://www.googleapis.com/auth/cloud-platform"
                       ]
+                    },
+                    "unstar": {
+                      "description": "Marks an Entry as NOT starred by the current user. Starring information is private to each user.",
+                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:unstar",
+                      "httpMethod": "POST",
+                      "id": "datacatalog.projects.locations.entryGroups.entries.unstar",
+                      "parameterOrder": [
+                        "name"
+                      ],
+                      "parameters": {
+                        "name": {
+                          "description": "Required. The name of the entry to mark as **not** starred.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
+                          "required": true,
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1/{+name}:unstar",
+                      "request": {
+                        "$ref": "GoogleCloudDatacatalogV1UnstarEntryRequest"
+                      },
+                      "response": {
+                        "$ref": "GoogleCloudDatacatalogV1UnstarEntryResponse"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
                     }
                   },
                   "resources": {
                     "tags": {
                       "methods": {
                         "create": {
-                          "description": "Creates a tag and assigns it to: * An Entry if the method name is ``projects.locations.entryGroups.entries.tags.create``. * Or EntryGroupif the method name is ``projects.locations.entryGroups.tags.create``. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.",
+                          "description": "Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.",
                           "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
                           "httpMethod": "POST",
                           "id": "datacatalog.projects.locations.entryGroups.entries.tags.create",
@@ -769,7 +825,7 @@
                 "tags": {
                   "methods": {
                     "create": {
-                      "description": "Creates a tag and assigns it to: * An Entry if the method name is ``projects.locations.entryGroups.entries.tags.create``. * Or EntryGroupif the method name is ``projects.locations.entryGroups.tags.create``. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.",
+                      "description": "Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
                       "httpMethod": "POST",
                       "id": "datacatalog.projects.locations.entryGroups.tags.create",
@@ -1030,7 +1086,7 @@
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "Names of fields whose values to overwrite on a tag template. Currently, only `display_name` and `is_publicly_readable` can be overwritten. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. Note: Updating the ``is_publicly_readable`` field may require up to 12 hours to take effect in search results. Additionally, it also requires the ``tagTemplates.getIamPolicy`` and ``tagTemplates.setIamPolicy`` permissions.",
+                      "description": "Names of fields whose values to overwrite on a tag template. Currently, only `display_name` and `is_publicly_readable` can be overwritten. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. Note: Updating the `is_publicly_readable` field may require up to 12 hours to take effect in search results. Additionally, it also requires the `tagTemplates.getIamPolicy` and `tagTemplates.setIamPolicy` permissions.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -1214,7 +1270,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the tag template.",
+                          "description": "Required. The name of the tag template field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
                           "required": true,
@@ -1841,7 +1897,7 @@
       }
     }
   },
-  "revision": "20211014",
+  "revision": "20211201",
   "rootUrl": "https://datacatalog.googleapis.com/",
   "schemas": {
     "Binding": {
@@ -1911,7 +1967,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -2220,6 +2276,11 @@
           "readOnly": true,
           "type": "string"
         },
+        "personalDetails": {
+          "$ref": "GoogleCloudDatacatalogV1PersonalDetails",
+          "description": "Output only. Additional information related to the entry. Private to the current user.",
+          "readOnly": true
+        },
         "routineSpec": {
           "$ref": "GoogleCloudDatacatalogV1RoutineSpec",
           "description": "Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type."
@@ -2544,6 +2605,22 @@
       },
       "type": "object"
     },
+    "GoogleCloudDatacatalogV1PersonalDetails": {
+      "description": "Entry metadata relevant only to the user and private to them.",
+      "id": "GoogleCloudDatacatalogV1PersonalDetails",
+      "properties": {
+        "starTime": {
+          "description": "Set if the entry is starred; unset otherwise.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "starred": {
+          "description": "True if the entry is starred by the user; false otherwise.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudDatacatalogV1PolicyTag": {
       "description": "Denotes one policy tag in a taxonomy, for example, SSN. Policy tags can be defined in a hierarchy. For example: ``` + Geolocation + LatLong + City + ZipCode ``` Where the \"Geolocation\" policy tag contains three children.",
       "id": "GoogleCloudDatacatalogV1PolicyTag",
@@ -2703,7 +2780,7 @@
       "id": "GoogleCloudDatacatalogV1SearchCatalogRequest",
       "properties": {
         "orderBy": {
-          "description": "Specifies the order of results. Currently supported case-sensitive values are: * `relevance` that can only be descending * `last_modified_timestamp [asc|desc]` with descending (`desc`) as default If this parameter is omitted, it defaults to the descending `relevance`.",
+          "description": "Specifies the order of results. Currently supported case-sensitive values are: * `relevance` that can only be descending * `last_modified_timestamp [asc|desc]` with descending (`desc`) as default * `default` that can only be descending If this parameter is omitted, it defaults to the descending `relevance`.",
           "type": "string"
         },
         "pageSize": {
@@ -2716,7 +2793,7 @@
           "type": "string"
         },
         "query": {
-          "description": "Optional. The query string with a minimum of 3 characters and specific syntax. For more information, see [Data Catalog search syntax](/data-catalog/docs/how-to/search-reference). An empty query string returns all data assets (in the specified scope) that you have access to. A query string can be a simple `xyz` or qualified by predicates: * `name:x` * `column:y` * `description:z`",
+          "description": "Optional. The query string with a minimum of 3 characters and specific syntax. For more information, see [Data Catalog search syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference). An empty query string returns all data assets (in the specified scope) that you have access to. A query string can be a simple `xyz` or qualified by predicates: * `name:x` * `column:y` * `description:z`",
           "type": "string"
         },
         "scope": {
@@ -2749,7 +2826,7 @@
           "type": "array"
         },
         "includePublicTagTemplates": {
-          "description": "Optional. If `true`, include public tag templates in the search results. By default, they are included only if you have explicit permissions on them to view them. For example, if you are the owner. Other scope fields, for example, ``include_org_ids``, still restrict the returned public tag templates and at least one of them is required.",
+          "description": "Optional. If `true`, include public tag templates in the search results. By default, they are included only if you have explicit permissions on them to view them. For example, if you are the owner. Other scope fields, for example, `include_org_ids`, still restrict the returned public tag templates and at least one of them is required.",
           "type": "boolean"
         },
         "restrictedLocations": {
@@ -2758,6 +2835,10 @@
             "type": "string"
           },
           "type": "array"
+        },
+        "starredOnly": {
+          "description": "Optional. If `true`, search only among starred entries. By default, all results are returned, starred or not.",
+          "type": "boolean"
         }
       },
       "type": "object"
@@ -2923,6 +3004,18 @@
       },
       "type": "object"
     },
+    "GoogleCloudDatacatalogV1StarEntryRequest": {
+      "description": "Request message for StarEntry.",
+      "id": "GoogleCloudDatacatalogV1StarEntryRequest",
+      "properties": {},
+      "type": "object"
+    },
+    "GoogleCloudDatacatalogV1StarEntryResponse": {
+      "description": "Response message for StarEntry. Empty for now",
+      "id": "GoogleCloudDatacatalogV1StarEntryResponse",
+      "properties": {},
+      "type": "object"
+    },
     "GoogleCloudDatacatalogV1SystemTimestamps": {
       "description": "Timestamps associated with this resource in a particular system.",
       "id": "GoogleCloudDatacatalogV1SystemTimestamps",
@@ -3149,6 +3242,18 @@
       },
       "type": "object"
     },
+    "GoogleCloudDatacatalogV1UnstarEntryRequest": {
+      "description": "Request message for UnstarEntry.",
+      "id": "GoogleCloudDatacatalogV1UnstarEntryRequest",
+      "properties": {},
+      "type": "object"
+    },
+    "GoogleCloudDatacatalogV1UnstarEntryResponse": {
+      "description": "Response message for UnstarEntry. Empty for now",
+      "id": "GoogleCloudDatacatalogV1UnstarEntryResponse",
+      "properties": {},
+      "type": "object"
+    },
     "GoogleCloudDatacatalogV1UsageSignal": {
       "description": "The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day.",
       "id": "GoogleCloudDatacatalogV1UsageSignal",
diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
index 8ce78e2..ee12118 100644
--- a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
@@ -142,7 +142,7 @@
               "type": "string"
             },
             "sqlResource": {
-              "description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s shoud satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
+              "description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s should satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
               "location": "query",
               "type": "string"
             }
@@ -1808,7 +1808,7 @@
       }
     }
   },
-  "revision": "20211014",
+  "revision": "20211201",
   "rootUrl": "https://datacatalog.googleapis.com/",
   "schemas": {
     "Binding": {
@@ -1878,7 +1878,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -2395,7 +2395,7 @@
       "id": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest",
       "properties": {
         "orderBy": {
-          "description": "Specifies the ordering of results, currently supported case-sensitive choices are: * `relevance`, only supports descending * `last_modified_timestamp [asc|desc]`, defaults to descending if not specified If not specified, defaults to `relevance` descending.",
+          "description": "Specifies the ordering of results, currently supported case-sensitive choices are: * `relevance`, only supports descending * `last_modified_timestamp [asc|desc]`, defaults to descending if not specified * `default` that can only be descending If not specified, defaults to `relevance` descending.",
           "type": "string"
         },
         "pageSize": {
diff --git a/googleapiclient/discovery_cache/documents/dataflow.v1b3.json b/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
index ff1cdad..ffd7be2 100644
--- a/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
+++ b/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
@@ -2225,7 +2225,7 @@
       }
     }
   },
-  "revision": "20211029",
+  "revision": "20211204",
   "rootUrl": "https://dataflow.googleapis.com/",
   "schemas": {
     "ApproximateProgress": {
diff --git a/googleapiclient/discovery_cache/documents/datalabeling.v1beta1.json b/googleapiclient/discovery_cache/documents/datalabeling.v1beta1.json
index 32bf552..8ce5986 100644
--- a/googleapiclient/discovery_cache/documents/datalabeling.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datalabeling.v1beta1.json
@@ -1596,7 +1596,7 @@
       }
     }
   },
-  "revision": "20211106",
+  "revision": "20211207",
   "rootUrl": "https://datalabeling.googleapis.com/",
   "schemas": {
     "GoogleCloudDatalabelingV1alpha1CreateInstructionMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/datamigration.v1.json b/googleapiclient/discovery_cache/documents/datamigration.v1.json
index 5ccd90f..d480b11 100644
--- a/googleapiclient/discovery_cache/documents/datamigration.v1.json
+++ b/googleapiclient/discovery_cache/documents/datamigration.v1.json
@@ -287,7 +287,7 @@
                   ],
                   "parameters": {
                     "options.requestedPolicyVersion": {
-                      "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
@@ -589,7 +589,7 @@
                   ],
                   "parameters": {
                     "options.requestedPolicyVersion": {
-                      "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
@@ -1049,7 +1049,7 @@
       }
     }
   },
-  "revision": "20211103",
+  "revision": "20211201",
   "rootUrl": "https://datamigration.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -1176,6 +1176,10 @@
           "description": "[default: ON] If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.",
           "type": "boolean"
         },
+        "cmekKeyName": {
+          "description": "The KMS key name used for the csql instance.",
+          "type": "string"
+        },
         "collation": {
           "description": "The Cloud SQL default instance level collation.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json b/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json
index 21fdda0..a826dfd 100644
--- a/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json
@@ -287,7 +287,7 @@
                   ],
                   "parameters": {
                     "options.requestedPolicyVersion": {
-                      "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
@@ -589,7 +589,7 @@
                   ],
                   "parameters": {
                     "options.requestedPolicyVersion": {
-                      "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
@@ -1049,7 +1049,7 @@
       }
     }
   },
-  "revision": "20211103",
+  "revision": "20211201",
   "rootUrl": "https://datamigration.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/datapipelines.v1.json b/googleapiclient/discovery_cache/documents/datapipelines.v1.json
index b523fb2..69c8cc5 100644
--- a/googleapiclient/discovery_cache/documents/datapipelines.v1.json
+++ b/googleapiclient/discovery_cache/documents/datapipelines.v1.json
@@ -329,7 +329,7 @@
       }
     }
   },
-  "revision": "20211105",
+  "revision": "20211112",
   "rootUrl": "https://datapipelines.googleapis.com/",
   "schemas": {
     "GoogleCloudDatapipelinesV1DataflowJobDetails": {
diff --git a/googleapiclient/discovery_cache/documents/dataproc.v1.json b/googleapiclient/discovery_cache/documents/dataproc.v1.json
index 1bcbcd7..05c2bab 100644
--- a/googleapiclient/discovery_cache/documents/dataproc.v1.json
+++ b/googleapiclient/discovery_cache/documents/dataproc.v1.json
@@ -2316,7 +2316,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211202",
   "rootUrl": "https://dataproc.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/datastore.v1.json b/googleapiclient/discovery_cache/documents/datastore.v1.json
index 123da34..f3574ba 100644
--- a/googleapiclient/discovery_cache/documents/datastore.v1.json
+++ b/googleapiclient/discovery_cache/documents/datastore.v1.json
@@ -626,7 +626,7 @@
       }
     }
   },
-  "revision": "20211029",
+  "revision": "20211129",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "AllocateIdsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/datastore.v1beta1.json b/googleapiclient/discovery_cache/documents/datastore.v1beta1.json
index 32b180c..a687093 100644
--- a/googleapiclient/discovery_cache/documents/datastore.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datastore.v1beta1.json
@@ -168,7 +168,7 @@
       }
     }
   },
-  "revision": "20211029",
+  "revision": "20211129",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "GoogleDatastoreAdminV1CommonMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/datastore.v1beta3.json b/googleapiclient/discovery_cache/documents/datastore.v1beta3.json
index 4d390f2..be32e48 100644
--- a/googleapiclient/discovery_cache/documents/datastore.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/datastore.v1beta3.json
@@ -308,7 +308,7 @@
       }
     }
   },
-  "revision": "20211029",
+  "revision": "20211129",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "AllocateIdsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
index 2aebbfa..5581ccd 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
@@ -1588,7 +1588,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211202",
   "rootUrl": "https://deploymentmanager.googleapis.com/",
   "schemas": {
     "AsyncOptions": {
diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json b/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
index 96a663c..7ebf610 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
@@ -988,7 +988,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211202",
   "rootUrl": "https://deploymentmanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json b/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
index cc12014..4929b35 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
@@ -1552,7 +1552,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211202",
   "rootUrl": "https://deploymentmanager.googleapis.com/",
   "schemas": {
     "AsyncOptions": {
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2.json b/googleapiclient/discovery_cache/documents/dialogflow.v2.json
index f09a828..465ff20 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2.json
@@ -6983,7 +6983,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211207",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -13733,7 +13733,7 @@
       "id": "GoogleCloudDialogflowV2SpeechToTextConfig",
       "properties": {
         "speechModelVariant": {
-          "description": "Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.",
+          "description": "The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.",
           "enum": [
             "SPEECH_MODEL_VARIANT_UNSPECIFIED",
             "USE_BEST_AVAILABLE",
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
index 17ec554..82b352d 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
@@ -7315,7 +7315,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211207",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -16448,7 +16448,7 @@
       "id": "GoogleCloudDialogflowV2beta1SpeechToTextConfig",
       "properties": {
         "speechModelVariant": {
-          "description": "Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.",
+          "description": "The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.",
           "enum": [
             "SPEECH_MODEL_VARIANT_UNSPECIFIED",
             "USE_BEST_AVAILABLE",
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3.json b/googleapiclient/discovery_cache/documents/dialogflow.v3.json
index 980d76c..51d2862 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v3.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v3.json
@@ -3820,7 +3820,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211207",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AdvancedSettings": {
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
index 2f654dd..a13ef8d 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
@@ -3820,7 +3820,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211207",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
diff --git a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
index 45bd244..46f61df 100644
--- a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
+++ b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
@@ -184,7 +184,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211207",
   "rootUrl": "https://digitalassetlinks.googleapis.com/",
   "schemas": {
     "AndroidAppAsset": {
diff --git a/googleapiclient/discovery_cache/documents/displayvideo.v1.json b/googleapiclient/discovery_cache/documents/displayvideo.v1.json
index b2da915..ea627dd 100644
--- a/googleapiclient/discovery_cache/documents/displayvideo.v1.json
+++ b/googleapiclient/discovery_cache/documents/displayvideo.v1.json
@@ -7635,7 +7635,7 @@
       }
     }
   },
-  "revision": "20211206",
+  "revision": "20211210",
   "rootUrl": "https://displayvideo.googleapis.com/",
   "schemas": {
     "ActivateManualTriggerRequest": {
diff --git a/googleapiclient/discovery_cache/documents/dlp.v2.json b/googleapiclient/discovery_cache/documents/dlp.v2.json
index a933385..1e88143 100644
--- a/googleapiclient/discovery_cache/documents/dlp.v2.json
+++ b/googleapiclient/discovery_cache/documents/dlp.v2.json
@@ -3412,7 +3412,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211204",
   "rootUrl": "https://dlp.googleapis.com/",
   "schemas": {
     "GooglePrivacyDlpV2Action": {
@@ -3566,6 +3566,13 @@
           },
           "type": "array"
         },
+        "includedFields": {
+          "description": "Limit scanning only to these fields.",
+          "items": {
+            "$ref": "GooglePrivacyDlpV2FieldId"
+          },
+          "type": "array"
+        },
         "rowsLimit": {
           "description": "Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.",
           "format": "int64",
diff --git a/googleapiclient/discovery_cache/documents/docs.v1.json b/googleapiclient/discovery_cache/documents/docs.v1.json
index b08807e..500a1a9 100644
--- a/googleapiclient/discovery_cache/documents/docs.v1.json
+++ b/googleapiclient/discovery_cache/documents/docs.v1.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20211202",
+  "revision": "20211207",
   "rootUrl": "https://docs.googleapis.com/",
   "schemas": {
     "AutoText": {
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1.json b/googleapiclient/discovery_cache/documents/documentai.v1.json
index d57e302..f5766b7 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1.json
@@ -1029,7 +1029,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211203",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata": {
@@ -2543,11 +2543,11 @@
             "EVAL_SKIPPED"
           ],
           "enumDescriptions": [
-            "Operation type unspecified.",
-            "Add an element. Implicit if no `parents` are set for the provenance.",
-            "The element is removed. No `parents` should be set.",
-            "Explicitly replaces the element(s) identified by `parents`.",
-            "Element is requested for human review.",
+            "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.",
+            "Add an element.",
+            "Remove an element identified by `parent`.",
+            "Replace an element identified by `parent`.",
+            "Request human review for the element identified by `parent`.",
             "Element is reviewed and approved at human review, confidence will be set to 1.0.",
             "Element is skipped in the validation process."
           ],
@@ -2557,7 +2557,7 @@
       "type": "object"
     },
     "GoogleCloudDocumentaiV1DocumentProvenanceParent": {
-      "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.",
+      "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.",
       "id": "GoogleCloudDocumentaiV1DocumentProvenanceParent",
       "properties": {
         "id": {
@@ -2571,7 +2571,7 @@
           "type": "integer"
         },
         "revision": {
-          "description": "The index of the [Document.revisions] identifying the parent revision.",
+          "description": "The index of the index into current revision's parent_ids list.",
           "format": "int32",
           "type": "integer"
         }
@@ -2607,6 +2607,13 @@
           },
           "type": "array"
         },
+        "parentIds": {
+          "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "processor": {
           "description": "If the annotation was made by processor identify the processor by its resource name.",
           "type": "string"
@@ -4056,11 +4063,11 @@
             "EVAL_SKIPPED"
           ],
           "enumDescriptions": [
-            "Operation type unspecified.",
-            "Add an element. Implicit if no `parents` are set for the provenance.",
-            "The element is removed. No `parents` should be set.",
-            "Explicitly replaces the element(s) identified by `parents`.",
-            "Element is requested for human review.",
+            "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.",
+            "Add an element.",
+            "Remove an element identified by `parent`.",
+            "Replace an element identified by `parent`.",
+            "Request human review for the element identified by `parent`.",
             "Element is reviewed and approved at human review, confidence will be set to 1.0.",
             "Element is skipped in the validation process."
           ],
@@ -4070,7 +4077,7 @@
       "type": "object"
     },
     "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent": {
-      "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.",
+      "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.",
       "id": "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent",
       "properties": {
         "id": {
@@ -4084,7 +4091,7 @@
           "type": "integer"
         },
         "revision": {
-          "description": "The index of the [Document.revisions] identifying the parent revision.",
+          "description": "The index of the index into current revision's parent_ids list.",
           "format": "int32",
           "type": "integer"
         }
@@ -4120,6 +4127,13 @@
           },
           "type": "array"
         },
+        "parentIds": {
+          "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "processor": {
           "description": "If the annotation was made by processor identify the processor by its resource name.",
           "type": "string"
@@ -5237,11 +5251,11 @@
             "EVAL_SKIPPED"
           ],
           "enumDescriptions": [
-            "Operation type unspecified.",
-            "Add an element. Implicit if no `parents` are set for the provenance.",
-            "The element is removed. No `parents` should be set.",
-            "Explicitly replaces the element(s) identified by `parents`.",
-            "Element is requested for human review.",
+            "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.",
+            "Add an element.",
+            "Remove an element identified by `parent`.",
+            "Replace an element identified by `parent`.",
+            "Request human review for the element identified by `parent`.",
             "Element is reviewed and approved at human review, confidence will be set to 1.0.",
             "Element is skipped in the validation process."
           ],
@@ -5251,7 +5265,7 @@
       "type": "object"
     },
     "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent": {
-      "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.",
+      "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.",
       "id": "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent",
       "properties": {
         "id": {
@@ -5265,7 +5279,7 @@
           "type": "integer"
         },
         "revision": {
-          "description": "The index of the [Document.revisions] identifying the parent revision.",
+          "description": "The index of the index into current revision's parent_ids list.",
           "format": "int32",
           "type": "integer"
         }
@@ -5301,6 +5315,13 @@
           },
           "type": "array"
         },
+        "parentIds": {
+          "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "processor": {
           "description": "If the annotation was made by processor identify the processor by its resource name.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1beta2.json b/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
index a0f3df0..c3a2ff3 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
@@ -292,7 +292,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211203",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata": {
@@ -1858,11 +1858,11 @@
             "EVAL_SKIPPED"
           ],
           "enumDescriptions": [
-            "Operation type unspecified.",
-            "Add an element. Implicit if no `parents` are set for the provenance.",
-            "The element is removed. No `parents` should be set.",
-            "Explicitly replaces the element(s) identified by `parents`.",
-            "Element is requested for human review.",
+            "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.",
+            "Add an element.",
+            "Remove an element identified by `parent`.",
+            "Replace an element identified by `parent`.",
+            "Request human review for the element identified by `parent`.",
             "Element is reviewed and approved at human review, confidence will be set to 1.0.",
             "Element is skipped in the validation process."
           ],
@@ -1872,7 +1872,7 @@
       "type": "object"
     },
     "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent": {
-      "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.",
+      "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.",
       "id": "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent",
       "properties": {
         "id": {
@@ -1886,7 +1886,7 @@
           "type": "integer"
         },
         "revision": {
-          "description": "The index of the [Document.revisions] identifying the parent revision.",
+          "description": "The index of the index into current revision's parent_ids list.",
           "format": "int32",
           "type": "integer"
         }
@@ -1922,6 +1922,13 @@
           },
           "type": "array"
         },
+        "parentIds": {
+          "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "processor": {
           "description": "If the annotation was made by processor identify the processor by its resource name.",
           "type": "string"
@@ -3064,11 +3071,11 @@
             "EVAL_SKIPPED"
           ],
           "enumDescriptions": [
-            "Operation type unspecified.",
-            "Add an element. Implicit if no `parents` are set for the provenance.",
-            "The element is removed. No `parents` should be set.",
-            "Explicitly replaces the element(s) identified by `parents`.",
-            "Element is requested for human review.",
+            "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.",
+            "Add an element.",
+            "Remove an element identified by `parent`.",
+            "Replace an element identified by `parent`.",
+            "Request human review for the element identified by `parent`.",
             "Element is reviewed and approved at human review, confidence will be set to 1.0.",
             "Element is skipped in the validation process."
           ],
@@ -3078,7 +3085,7 @@
       "type": "object"
     },
     "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent": {
-      "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.",
+      "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.",
       "id": "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent",
       "properties": {
         "id": {
@@ -3092,7 +3099,7 @@
           "type": "integer"
         },
         "revision": {
-          "description": "The index of the [Document.revisions] identifying the parent revision.",
+          "description": "The index of the index into current revision's parent_ids list.",
           "format": "int32",
           "type": "integer"
         }
@@ -3128,6 +3135,13 @@
           },
           "type": "array"
         },
+        "parentIds": {
+          "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "processor": {
           "description": "If the annotation was made by processor identify the processor by its resource name.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1beta3.json b/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
index ed48126..40bc859 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
@@ -796,7 +796,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211203",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata": {
@@ -2362,11 +2362,11 @@
             "EVAL_SKIPPED"
           ],
           "enumDescriptions": [
-            "Operation type unspecified.",
-            "Add an element. Implicit if no `parents` are set for the provenance.",
-            "The element is removed. No `parents` should be set.",
-            "Explicitly replaces the element(s) identified by `parents`.",
-            "Element is requested for human review.",
+            "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.",
+            "Add an element.",
+            "Remove an element identified by `parent`.",
+            "Replace an element identified by `parent`.",
+            "Request human review for the element identified by `parent`.",
             "Element is reviewed and approved at human review, confidence will be set to 1.0.",
             "Element is skipped in the validation process."
           ],
@@ -2376,7 +2376,7 @@
       "type": "object"
     },
     "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent": {
-      "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.",
+      "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.",
       "id": "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent",
       "properties": {
         "id": {
@@ -2390,7 +2390,7 @@
           "type": "integer"
         },
         "revision": {
-          "description": "The index of the [Document.revisions] identifying the parent revision.",
+          "description": "The index of the index into current revision's parent_ids list.",
           "format": "int32",
           "type": "integer"
         }
@@ -2426,6 +2426,13 @@
           },
           "type": "array"
         },
+        "parentIds": {
+          "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "processor": {
           "description": "If the annotation was made by processor identify the processor by its resource name.",
           "type": "string"
@@ -3543,11 +3550,11 @@
             "EVAL_SKIPPED"
           ],
           "enumDescriptions": [
-            "Operation type unspecified.",
-            "Add an element. Implicit if no `parents` are set for the provenance.",
-            "The element is removed. No `parents` should be set.",
-            "Explicitly replaces the element(s) identified by `parents`.",
-            "Element is requested for human review.",
+            "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.",
+            "Add an element.",
+            "Remove an element identified by `parent`.",
+            "Replace an element identified by `parent`.",
+            "Request human review for the element identified by `parent`.",
             "Element is reviewed and approved at human review, confidence will be set to 1.0.",
             "Element is skipped in the validation process."
           ],
@@ -3557,7 +3564,7 @@
       "type": "object"
     },
     "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent": {
-      "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.",
+      "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.",
       "id": "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent",
       "properties": {
         "id": {
@@ -3571,7 +3578,7 @@
           "type": "integer"
         },
         "revision": {
-          "description": "The index of the [Document.revisions] identifying the parent revision.",
+          "description": "The index of the index into current revision's parent_ids list.",
           "format": "int32",
           "type": "integer"
         }
@@ -3607,6 +3614,13 @@
           },
           "type": "array"
         },
+        "parentIds": {
+          "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "processor": {
           "description": "If the annotation was made by processor identify the processor by its resource name.",
           "type": "string"
@@ -4977,11 +4991,11 @@
             "EVAL_SKIPPED"
           ],
           "enumDescriptions": [
-            "Operation type unspecified.",
-            "Add an element. Implicit if no `parents` are set for the provenance.",
-            "The element is removed. No `parents` should be set.",
-            "Explicitly replaces the element(s) identified by `parents`.",
-            "Element is requested for human review.",
+            "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.",
+            "Add an element.",
+            "Remove an element identified by `parent`.",
+            "Replace an element identified by `parent`.",
+            "Request human review for the element identified by `parent`.",
             "Element is reviewed and approved at human review, confidence will be set to 1.0.",
             "Element is skipped in the validation process."
           ],
@@ -4991,7 +5005,7 @@
       "type": "object"
     },
     "GoogleCloudDocumentaiV1beta3DocumentProvenanceParent": {
-      "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.",
+      "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.",
       "id": "GoogleCloudDocumentaiV1beta3DocumentProvenanceParent",
       "properties": {
         "id": {
@@ -5005,7 +5019,7 @@
           "type": "integer"
         },
         "revision": {
-          "description": "The index of the [Document.revisions] identifying the parent revision.",
+          "description": "The index of the index into current revision's parent_ids list.",
           "format": "int32",
           "type": "integer"
         }
@@ -5041,6 +5055,13 @@
           },
           "type": "array"
         },
+        "parentIds": {
+          "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "processor": {
           "description": "If the annotation was made by processor identify the processor by its resource name.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
index 206305f..59d0f9c 100644
--- a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
+++ b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
@@ -289,7 +289,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211213",
   "rootUrl": "https://domainsrdap.googleapis.com/",
   "schemas": {
     "HttpBody": {
diff --git a/googleapiclient/discovery_cache/documents/drive.v2.json b/googleapiclient/discovery_cache/documents/drive.v2.json
index 3702ddb..dcb7ae6 100644
--- a/googleapiclient/discovery_cache/documents/drive.v2.json
+++ b/googleapiclient/discovery_cache/documents/drive.v2.json
@@ -38,7 +38,7 @@
   "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/drive/",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/DKlnCJrAPG7Z0EmxOda3T9GAzb4\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/ubQiVsv3YfAMklW4nn-PZ7PB7qc\"",
   "icons": {
     "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png",
     "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png"
@@ -1659,7 +1659,7 @@
           ]
         },
         "patch": {
-          "description": "Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might might change automatically, such as modifiedDate. This method supports patch semantics.",
+          "description": "Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change automatically, such as modifiedDate. This method supports patch semantics.",
           "httpMethod": "PATCH",
           "id": "drive.files.patch",
           "parameterOrder": [
@@ -3527,7 +3527,7 @@
       }
     }
   },
-  "revision": "20211128",
+  "revision": "20211205",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
diff --git a/googleapiclient/discovery_cache/documents/drive.v3.json b/googleapiclient/discovery_cache/documents/drive.v3.json
index 683bb16..ad3008e 100644
--- a/googleapiclient/discovery_cache/documents/drive.v3.json
+++ b/googleapiclient/discovery_cache/documents/drive.v3.json
@@ -35,7 +35,7 @@
   "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/drive/",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/qPmrOOB23uwdXjGLvxs8tae5rOM\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/o7pKIQ2pLOYNMAz6-5Kx1e-IJJg\"",
   "icons": {
     "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png",
     "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png"
@@ -2191,7 +2191,7 @@
       }
     }
   },
-  "revision": "20211128",
+  "revision": "20211205",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
diff --git a/googleapiclient/discovery_cache/documents/driveactivity.v2.json b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
index fcda091..8863147 100644
--- a/googleapiclient/discovery_cache/documents/driveactivity.v2.json
+++ b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
@@ -132,7 +132,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211207",
   "rootUrl": "https://driveactivity.googleapis.com/",
   "schemas": {
     "Action": {
diff --git a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
index 5cdd068..c4ad54e 100644
--- a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
+++ b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
@@ -850,7 +850,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://essentialcontacts.googleapis.com/",
   "schemas": {
     "GoogleCloudEssentialcontactsV1ComputeContactsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/eventarc.v1.json b/googleapiclient/discovery_cache/documents/eventarc.v1.json
index 8fcd80d..881a02e 100644
--- a/googleapiclient/discovery_cache/documents/eventarc.v1.json
+++ b/googleapiclient/discovery_cache/documents/eventarc.v1.json
@@ -675,7 +675,7 @@
       }
     }
   },
-  "revision": "20211105",
+  "revision": "20211130",
   "rootUrl": "https://eventarc.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -773,7 +773,7 @@
       "properties": {
         "cloudRun": {
           "$ref": "CloudRun",
-          "description": "Cloud Run fully-managed service that receives the events. The service should be running in the same project of the trigger."
+          "description": "Cloud Run fully-managed resource that receives the events. The resource should be in the same project as the trigger."
         },
         "gke": {
           "$ref": "GKE",
diff --git a/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json b/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json
index c72adcd..b60f7eb 100644
--- a/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json
@@ -584,7 +584,7 @@
       }
     }
   },
-  "revision": "20211105",
+  "revision": "20211130",
   "rootUrl": "https://eventarc.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
index 7cadb89..d06ab53 100644
--- a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
@@ -304,7 +304,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://factchecktools.googleapis.com/",
   "schemas": {
     "GoogleFactcheckingFactchecktoolsV1alpha1Claim": {
diff --git a/googleapiclient/discovery_cache/documents/fcm.v1.json b/googleapiclient/discovery_cache/documents/fcm.v1.json
index b8cf0f6..8f6c1b4 100644
--- a/googleapiclient/discovery_cache/documents/fcm.v1.json
+++ b/googleapiclient/discovery_cache/documents/fcm.v1.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20211115",
+  "revision": "20211213",
   "rootUrl": "https://fcm.googleapis.com/",
   "schemas": {
     "AndroidConfig": {
diff --git a/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json b/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json
index 3dc1619..92ada6a 100644
--- a/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json
@@ -154,7 +154,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://fcmdata.googleapis.com/",
   "schemas": {
     "GoogleFirebaseFcmDataV1beta1AndroidDeliveryData": {
diff --git a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
index ea40790..44a27a6 100644
--- a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
@@ -1121,7 +1121,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://firebase.googleapis.com/",
   "schemas": {
     "AddFirebaseRequest": {
diff --git a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
index ea4a74c..e3af376 100644
--- a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
@@ -317,7 +317,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://firebasedatabase.googleapis.com/",
   "schemas": {
     "DatabaseInstance": {
diff --git a/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json b/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json
index fdf26f8..b91caf8 100644
--- a/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json
@@ -224,7 +224,7 @@
       }
     }
   },
-  "revision": "20211129",
+  "revision": "20211203",
   "rootUrl": "https://firebasedynamiclinks.googleapis.com/",
   "schemas": {
     "AnalyticsInfo": {
diff --git a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json
index 1fb9a79..90f6a68 100644
--- a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json
@@ -186,7 +186,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211203",
   "rootUrl": "https://firebasehosting.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json b/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json
index e40e45b..42a83a0 100644
--- a/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json
@@ -1939,7 +1939,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211203",
   "rootUrl": "https://firebasehosting.googleapis.com/",
   "schemas": {
     "ActingUser": {
diff --git a/googleapiclient/discovery_cache/documents/firestore.v1.json b/googleapiclient/discovery_cache/documents/firestore.v1.json
index f8bb2f8..ab4e447 100644
--- a/googleapiclient/discovery_cache/documents/firestore.v1.json
+++ b/googleapiclient/discovery_cache/documents/firestore.v1.json
@@ -1247,7 +1247,7 @@
       }
     }
   },
-  "revision": "20211029",
+  "revision": "20211129",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "ArrayValue": {
diff --git a/googleapiclient/discovery_cache/documents/firestore.v1beta1.json b/googleapiclient/discovery_cache/documents/firestore.v1beta1.json
index 358e3a1..95888a6 100644
--- a/googleapiclient/discovery_cache/documents/firestore.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firestore.v1beta1.json
@@ -849,7 +849,7 @@
       }
     }
   },
-  "revision": "20211029",
+  "revision": "20211129",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "ArrayValue": {
diff --git a/googleapiclient/discovery_cache/documents/firestore.v1beta2.json b/googleapiclient/discovery_cache/documents/firestore.v1beta2.json
index 6d082a7..2e65941 100644
--- a/googleapiclient/discovery_cache/documents/firestore.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/firestore.v1beta2.json
@@ -415,7 +415,7 @@
       }
     }
   },
-  "revision": "20211029",
+  "revision": "20211129",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/fitness.v1.json b/googleapiclient/discovery_cache/documents/fitness.v1.json
index ac50578..38f75a6 100644
--- a/googleapiclient/discovery_cache/documents/fitness.v1.json
+++ b/googleapiclient/discovery_cache/documents/fitness.v1.json
@@ -831,7 +831,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211208",
   "rootUrl": "https://fitness.googleapis.com/",
   "schemas": {
     "AggregateBucket": {
diff --git a/googleapiclient/discovery_cache/documents/games.v1.json b/googleapiclient/discovery_cache/documents/games.v1.json
index ec46766..1b38768 100644
--- a/googleapiclient/discovery_cache/documents/games.v1.json
+++ b/googleapiclient/discovery_cache/documents/games.v1.json
@@ -1224,7 +1224,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211202",
   "rootUrl": "https://games.googleapis.com/",
   "schemas": {
     "AchievementDefinition": {
diff --git a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
index a62a908..5efef6d 100644
--- a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
+++ b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
@@ -439,7 +439,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211202",
   "rootUrl": "https://gamesconfiguration.googleapis.com/",
   "schemas": {
     "AchievementConfiguration": {
diff --git a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
index 65e2b2b..29a708d 100644
--- a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
+++ b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
@@ -471,7 +471,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211202",
   "rootUrl": "https://gamesmanagement.googleapis.com/",
   "schemas": {
     "AchievementResetAllResponse": {
diff --git a/googleapiclient/discovery_cache/documents/gameservices.v1.json b/googleapiclient/discovery_cache/documents/gameservices.v1.json
index 4c21280..ff65850 100644
--- a/googleapiclient/discovery_cache/documents/gameservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/gameservices.v1.json
@@ -1357,7 +1357,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211201",
   "rootUrl": "https://gameservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
index 7d76133..a444f1a 100644
--- a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
@@ -1357,7 +1357,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211206",
   "rootUrl": "https://gameservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1.json b/googleapiclient/discovery_cache/documents/gkehub.v1.json
index c8d38e7..aeb78e1 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1.json
@@ -905,7 +905,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211203",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AppDevExperienceFeatureSpec": {
@@ -2451,6 +2451,10 @@
           "description": "Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.",
           "type": "string"
         },
+        "k8sVersion": {
+          "description": "Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.",
+          "type": "string"
+        },
         "v1beta1Crd": {
           "description": "Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions <1.16.",
           "type": "boolean"
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
index b094c62..aba857a 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
@@ -1067,9 +1067,24 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211203",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
+    "AnthosObservabilityMembershipSpec": {
+      "description": "**Anthosobservability**: Per-Membership Feature spec.",
+      "id": "AnthosObservabilityMembershipSpec",
+      "properties": {
+        "doNotOptimizeMetrics": {
+          "description": "use full of metrics rather than optimized metrics. See https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics",
+          "type": "boolean"
+        },
+        "enableStackdriverOnApplications": {
+          "description": "enable collecting and reporting metrics and logs from user apps See go/onyx-application-metrics-logs-user-guide",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
     "AppDevExperienceFeatureSpec": {
       "description": "Spec for App Dev Experience Feature.",
       "id": "AppDevExperienceFeatureSpec",
@@ -2663,6 +2678,10 @@
       "description": "MembershipFeatureSpec contains configuration information for a single Membership.",
       "id": "MembershipFeatureSpec",
       "properties": {
+        "anthosobservability": {
+          "$ref": "AnthosObservabilityMembershipSpec",
+          "description": "Anthos Observability-specific spec"
+        },
         "configmanagement": {
           "$ref": "ConfigManagementMembershipSpec",
           "description": "Config Management-specific spec."
@@ -2948,6 +2967,10 @@
           "description": "Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.",
           "type": "string"
         },
+        "k8sVersion": {
+          "description": "Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.",
+          "type": "string"
+        },
         "v1beta1Crd": {
           "description": "Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions <1.16.",
           "type": "boolean"
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
index c6b2597..377df7d 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
@@ -652,7 +652,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211203",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -1355,6 +1355,10 @@
           "description": "Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.",
           "type": "string"
         },
+        "k8sVersion": {
+          "description": "Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.",
+          "type": "string"
+        },
         "v1beta1Crd": {
           "description": "Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions <1.16.",
           "type": "boolean"
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
index fa4bdd7..2e502d0 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
@@ -670,7 +670,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211203",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AppDevExperienceFeatureSpec": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
index 7d9985c..e068e36 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
@@ -706,7 +706,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211203",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -1411,6 +1411,10 @@
           "description": "Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.",
           "type": "string"
         },
+        "k8sVersion": {
+          "description": "Optional. Major version of the Kubernetes cluster. This is only used to determine which version to use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`.",
+          "type": "string"
+        },
         "v1beta1Crd": {
           "description": "Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions <1.16.",
           "type": "boolean"
diff --git a/googleapiclient/discovery_cache/documents/gmail.v1.json b/googleapiclient/discovery_cache/documents/gmail.v1.json
index a30bd61..b3e7c3e 100644
--- a/googleapiclient/discovery_cache/documents/gmail.v1.json
+++ b/googleapiclient/discovery_cache/documents/gmail.v1.json
@@ -2682,7 +2682,7 @@
       }
     }
   },
-  "revision": "20211129",
+  "revision": "20211206",
   "rootUrl": "https://gmail.googleapis.com/",
   "schemas": {
     "AutoForwarding": {
diff --git a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
index 5943061..b21df4b 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://gmailpostmastertools.googleapis.com/",
   "schemas": {
     "DeliveryError": {
diff --git a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
index 17e94d9..312eb3b 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://gmailpostmastertools.googleapis.com/",
   "schemas": {
     "DeliveryError": {
diff --git a/googleapiclient/discovery_cache/documents/groupsmigration.v1.json b/googleapiclient/discovery_cache/documents/groupsmigration.v1.json
index 6575ab7..119c408 100644
--- a/googleapiclient/discovery_cache/documents/groupsmigration.v1.json
+++ b/googleapiclient/discovery_cache/documents/groupsmigration.v1.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20211117",
+  "revision": "20211202",
   "rootUrl": "https://groupsmigration.googleapis.com/",
   "schemas": {
     "Groups": {
diff --git a/googleapiclient/discovery_cache/documents/groupssettings.v1.json b/googleapiclient/discovery_cache/documents/groupssettings.v1.json
index 1d275bc..1d4f204 100644
--- a/googleapiclient/discovery_cache/documents/groupssettings.v1.json
+++ b/googleapiclient/discovery_cache/documents/groupssettings.v1.json
@@ -152,7 +152,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211202",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Groups": {
diff --git a/googleapiclient/discovery_cache/documents/homegraph.v1.json b/googleapiclient/discovery_cache/documents/homegraph.v1.json
index 59444e0..63c9860 100644
--- a/googleapiclient/discovery_cache/documents/homegraph.v1.json
+++ b/googleapiclient/discovery_cache/documents/homegraph.v1.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211203",
   "rootUrl": "https://homegraph.googleapis.com/",
   "schemas": {
     "AgentDeviceId": {
diff --git a/googleapiclient/discovery_cache/documents/iam.v1.json b/googleapiclient/discovery_cache/documents/iam.v1.json
index b4d7afc..b751c5f 100644
--- a/googleapiclient/discovery_cache/documents/iam.v1.json
+++ b/googleapiclient/discovery_cache/documents/iam.v1.json
@@ -1822,7 +1822,7 @@
       }
     }
   },
-  "revision": "20211104",
+  "revision": "20211202",
   "rootUrl": "https://iam.googleapis.com/",
   "schemas": {
     "AdminAuditData": {
diff --git a/googleapiclient/discovery_cache/documents/iamcredentials.v1.json b/googleapiclient/discovery_cache/documents/iamcredentials.v1.json
index d456f1a..0c82b86 100644
--- a/googleapiclient/discovery_cache/documents/iamcredentials.v1.json
+++ b/googleapiclient/discovery_cache/documents/iamcredentials.v1.json
@@ -226,14 +226,14 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://iamcredentials.googleapis.com/",
   "schemas": {
     "GenerateAccessTokenRequest": {
       "id": "GenerateAccessTokenRequest",
       "properties": {
         "delegates": {
-          "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+          "description": "The sequence of service accounts in a delegation chain. This field is required for [delegated requests](https://cloud.google.com/iam/help/credentials/delegated-request). For [direct requests](https://cloud.google.com/iam/help/credentials/direct-request), which are more common, do not specify this field. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
           "items": {
             "type": "string"
           },
diff --git a/googleapiclient/discovery_cache/documents/iap.v1.json b/googleapiclient/discovery_cache/documents/iap.v1.json
index a37bd6c..3db4d48 100644
--- a/googleapiclient/discovery_cache/documents/iap.v1.json
+++ b/googleapiclient/discovery_cache/documents/iap.v1.json
@@ -487,7 +487,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "AccessDeniedPageSettings": {
diff --git a/googleapiclient/discovery_cache/documents/iap.v1beta1.json b/googleapiclient/discovery_cache/documents/iap.v1beta1.json
index dfa73bc..990ef29 100644
--- a/googleapiclient/discovery_cache/documents/iap.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/iap.v1beta1.json
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json b/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json
index a47a983..7371346 100644
--- a/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json
@@ -331,7 +331,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://ideahub.googleapis.com/",
   "schemas": {
     "GoogleSearchIdeahubV1alphaAvailableLocale": {
diff --git a/googleapiclient/discovery_cache/documents/ideahub.v1beta.json b/googleapiclient/discovery_cache/documents/ideahub.v1beta.json
index 925c503..3d38a3d 100644
--- a/googleapiclient/discovery_cache/documents/ideahub.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/ideahub.v1beta.json
@@ -288,7 +288,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://ideahub.googleapis.com/",
   "schemas": {
     "GoogleSearchIdeahubV1betaAvailableLocale": {
diff --git a/googleapiclient/discovery_cache/documents/indexing.v3.json b/googleapiclient/discovery_cache/documents/indexing.v3.json
index caa4826..3e178be 100644
--- a/googleapiclient/discovery_cache/documents/indexing.v3.json
+++ b/googleapiclient/discovery_cache/documents/indexing.v3.json
@@ -149,7 +149,7 @@
       }
     }
   },
-  "revision": "20211123",
+  "revision": "20211130",
   "rootUrl": "https://indexing.googleapis.com/",
   "schemas": {
     "PublishUrlNotificationResponse": {
diff --git a/googleapiclient/discovery_cache/documents/keep.v1.json b/googleapiclient/discovery_cache/documents/keep.v1.json
index 19a8566..349ad50 100644
--- a/googleapiclient/discovery_cache/documents/keep.v1.json
+++ b/googleapiclient/discovery_cache/documents/keep.v1.json
@@ -314,7 +314,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211213",
   "rootUrl": "https://keep.googleapis.com/",
   "schemas": {
     "Attachment": {
diff --git a/googleapiclient/discovery_cache/documents/kgsearch.v1.json b/googleapiclient/discovery_cache/documents/kgsearch.v1.json
index 78333b8..697d30e 100644
--- a/googleapiclient/discovery_cache/documents/kgsearch.v1.json
+++ b/googleapiclient/discovery_cache/documents/kgsearch.v1.json
@@ -151,7 +151,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://kgsearch.googleapis.com/",
   "schemas": {
     "SearchResponse": {
diff --git a/googleapiclient/discovery_cache/documents/libraryagent.v1.json b/googleapiclient/discovery_cache/documents/libraryagent.v1.json
index e91a820..452701d 100644
--- a/googleapiclient/discovery_cache/documents/libraryagent.v1.json
+++ b/googleapiclient/discovery_cache/documents/libraryagent.v1.json
@@ -279,7 +279,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://libraryagent.googleapis.com/",
   "schemas": {
     "GoogleExampleLibraryagentV1Book": {
diff --git a/googleapiclient/discovery_cache/documents/licensing.v1.json b/googleapiclient/discovery_cache/documents/licensing.v1.json
index 781fe49..c7cb40d 100644
--- a/googleapiclient/discovery_cache/documents/licensing.v1.json
+++ b/googleapiclient/discovery_cache/documents/licensing.v1.json
@@ -400,7 +400,7 @@
       }
     }
   },
-  "revision": "20211204",
+  "revision": "20211211",
   "rootUrl": "https://licensing.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/localservices.v1.json b/googleapiclient/discovery_cache/documents/localservices.v1.json
index 48c37b9..549322e 100644
--- a/googleapiclient/discovery_cache/documents/localservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/localservices.v1.json
@@ -250,7 +250,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://localservices.googleapis.com/",
   "schemas": {
     "GoogleAdsHomeservicesLocalservicesV1AccountReport": {
diff --git a/googleapiclient/discovery_cache/documents/logging.v2.json b/googleapiclient/discovery_cache/documents/logging.v2.json
index e88185c..a11c99f 100644
--- a/googleapiclient/discovery_cache/documents/logging.v2.json
+++ b/googleapiclient/discovery_cache/documents/logging.v2.json
@@ -120,7 +120,7 @@
     "billingAccounts": {
       "methods": {
         "getCmekSettings": {
-          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
+          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
           "flatPath": "v2/billingAccounts/{billingAccountsId}/cmekSettings",
           "httpMethod": "GET",
           "id": "logging.billingAccounts.getCmekSettings",
@@ -1407,7 +1407,7 @@
     "folders": {
       "methods": {
         "getCmekSettings": {
-          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
+          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
           "flatPath": "v2/folders/{foldersId}/cmekSettings",
           "httpMethod": "GET",
           "id": "logging.folders.getCmekSettings",
@@ -3089,7 +3089,7 @@
     "organizations": {
       "methods": {
         "getCmekSettings": {
-          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
+          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
           "flatPath": "v2/organizations/{organizationsId}/cmekSettings",
           "httpMethod": "GET",
           "id": "logging.organizations.getCmekSettings",
@@ -4151,7 +4151,7 @@
     "projects": {
       "methods": {
         "getCmekSettings": {
-          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
+          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
           "flatPath": "v2/projects/{projectsId}/cmekSettings",
           "httpMethod": "GET",
           "id": "logging.projects.getCmekSettings",
@@ -5507,7 +5507,7 @@
     "v2": {
       "methods": {
         "getCmekSettings": {
-          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
+          "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
           "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings",
           "httpMethod": "GET",
           "id": "logging.getCmekSettings",
@@ -5572,7 +5572,7 @@
       }
     }
   },
-  "revision": "20211108",
+  "revision": "20211130",
   "rootUrl": "https://logging.googleapis.com/",
   "schemas": {
     "BigQueryOptions": {
@@ -5630,7 +5630,7 @@
           "type": "string"
         },
         "serviceAccountId": {
-          "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
+          "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.",
           "readOnly": true,
           "type": "string"
         }
diff --git a/googleapiclient/discovery_cache/documents/metastore.v1alpha.json b/googleapiclient/discovery_cache/documents/metastore.v1alpha.json
index 7c29d6f..eea3c57 100644
--- a/googleapiclient/discovery_cache/documents/metastore.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/metastore.v1alpha.json
@@ -1170,7 +1170,7 @@
       }
     }
   },
-  "revision": "20211106",
+  "revision": "20211111",
   "rootUrl": "https://metastore.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/monitoring.v1.json b/googleapiclient/discovery_cache/documents/monitoring.v1.json
index 3c522d5..259c5fe 100644
--- a/googleapiclient/discovery_cache/documents/monitoring.v1.json
+++ b/googleapiclient/discovery_cache/documents/monitoring.v1.json
@@ -679,7 +679,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211206",
   "rootUrl": "https://monitoring.googleapis.com/",
   "schemas": {
     "Aggregation": {
diff --git a/googleapiclient/discovery_cache/documents/monitoring.v3.json b/googleapiclient/discovery_cache/documents/monitoring.v3.json
index 06eb944..5316647 100644
--- a/googleapiclient/discovery_cache/documents/monitoring.v3.json
+++ b/googleapiclient/discovery_cache/documents/monitoring.v3.json
@@ -2571,7 +2571,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211206",
   "rootUrl": "https://monitoring.googleapis.com/",
   "schemas": {
     "Aggregation": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
index 97a44ee..d2d649e 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
@@ -530,7 +530,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://mybusinessaccountmanagement.googleapis.com/",
   "schemas": {
     "AcceptInvitationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json b/googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json
index f6288d0..4370119 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json
@@ -465,7 +465,7 @@
           }
         },
         "delete": {
-          "description": "Deletes a location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google My Business](https://business.google.com/manage/) website.",
+          "description": "Deletes a location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google Business Profile](https://business.google.com/manage/) website.",
           "flatPath": "v1/locations/{locationsId}",
           "httpMethod": "DELETE",
           "id": "mybusinessbusinessinformation.locations.delete",
@@ -662,7 +662,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://mybusinessbusinessinformation.googleapis.com/",
   "schemas": {
     "AdWordsLocationExtensions": {
@@ -1163,7 +1163,7 @@
         },
         "latlng": {
           "$ref": "LatLng",
-          "description": "Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google My Business website. This field can only be updated by approved clients."
+          "description": "Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients."
         },
         "metadata": {
           "$ref": "Metadata",
diff --git a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
index 731c2e8..f4c396a 100644
--- a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://mybusinesslodging.googleapis.com/",
   "schemas": {
     "Accessibility": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json b/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
index 68afb51..16aba05 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
@@ -154,7 +154,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://mybusinessnotifications.googleapis.com/",
   "schemas": {
     "NotificationSetting": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
index 4ff9017..eb47bf2 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
@@ -281,7 +281,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://mybusinessplaceactions.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json b/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json
index f8e4677..5fd173b 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json
@@ -256,7 +256,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://mybusinessverifications.googleapis.com/",
   "schemas": {
     "AddressVerificationData": {
diff --git a/googleapiclient/discovery_cache/documents/networkservices.v1.json b/googleapiclient/discovery_cache/documents/networkservices.v1.json
index 4a5febd..a4fb87a 100644
--- a/googleapiclient/discovery_cache/documents/networkservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/networkservices.v1.json
@@ -822,7 +822,7 @@
       }
     }
   },
-  "revision": "20211109",
+  "revision": "20211209",
   "rootUrl": "https://networkservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json b/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json
index 30d3d49..ede2b9e 100644
--- a/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json
@@ -543,13 +543,104 @@
                   ]
                 }
               }
+            },
+            "serviceBindings": {
+              "methods": {
+                "getIamPolicy": {
+                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
+                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}:getIamPolicy",
+                  "httpMethod": "GET",
+                  "id": "networkservices.projects.locations.serviceBindings.getIamPolicy",
+                  "parameterOrder": [
+                    "resource"
+                  ],
+                  "parameters": {
+                    "options.requestedPolicyVersion": {
+                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "resource": {
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1beta1/{+resource}:getIamPolicy",
+                  "response": {
+                    "$ref": "Policy"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "setIamPolicy": {
+                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}:setIamPolicy",
+                  "httpMethod": "POST",
+                  "id": "networkservices.projects.locations.serviceBindings.setIamPolicy",
+                  "parameterOrder": [
+                    "resource"
+                  ],
+                  "parameters": {
+                    "resource": {
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1beta1/{+resource}:setIamPolicy",
+                  "request": {
+                    "$ref": "SetIamPolicyRequest"
+                  },
+                  "response": {
+                    "$ref": "Policy"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "testIamPermissions": {
+                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
+                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}:testIamPermissions",
+                  "httpMethod": "POST",
+                  "id": "networkservices.projects.locations.serviceBindings.testIamPermissions",
+                  "parameterOrder": [
+                    "resource"
+                  ],
+                  "parameters": {
+                    "resource": {
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1beta1/{+resource}:testIamPermissions",
+                  "request": {
+                    "$ref": "TestIamPermissionsRequest"
+                  },
+                  "response": {
+                    "$ref": "TestIamPermissionsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                }
+              }
             }
           }
         }
       }
     }
   },
-  "revision": "20211109",
+  "revision": "20211209",
   "rootUrl": "https://networkservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
index 47efb18..a074aa9 100644
--- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
+++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
@@ -339,7 +339,7 @@
       }
     }
   },
-  "revision": "20211115",
+  "revision": "20211206",
   "rootUrl": "https://ondemandscanning.googleapis.com/",
   "schemas": {
     "AliasContext": {
@@ -596,6 +596,158 @@
       },
       "type": "object"
     },
+    "CVSS": {
+      "description": "Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score.",
+      "id": "CVSS",
+      "properties": {
+        "attackComplexity": {
+          "enum": [
+            "ATTACK_COMPLEXITY_UNSPECIFIED",
+            "ATTACK_COMPLEXITY_LOW",
+            "ATTACK_COMPLEXITY_HIGH"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "attackVector": {
+          "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.",
+          "enum": [
+            "ATTACK_VECTOR_UNSPECIFIED",
+            "ATTACK_VECTOR_NETWORK",
+            "ATTACK_VECTOR_ADJACENT",
+            "ATTACK_VECTOR_LOCAL",
+            "ATTACK_VECTOR_PHYSICAL"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "authentication": {
+          "enum": [
+            "AUTHENTICATION_UNSPECIFIED",
+            "AUTHENTICATION_MULTIPLE",
+            "AUTHENTICATION_SINGLE",
+            "AUTHENTICATION_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "availabilityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "baseScore": {
+          "description": "The base score is a function of the base metric scores.",
+          "format": "float",
+          "type": "number"
+        },
+        "confidentialityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "exploitabilityScore": {
+          "format": "float",
+          "type": "number"
+        },
+        "impactScore": {
+          "format": "float",
+          "type": "number"
+        },
+        "integrityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "privilegesRequired": {
+          "enum": [
+            "PRIVILEGES_REQUIRED_UNSPECIFIED",
+            "PRIVILEGES_REQUIRED_NONE",
+            "PRIVILEGES_REQUIRED_LOW",
+            "PRIVILEGES_REQUIRED_HIGH"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "scope": {
+          "enum": [
+            "SCOPE_UNSPECIFIED",
+            "SCOPE_UNCHANGED",
+            "SCOPE_CHANGED"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "userInteraction": {
+          "enum": [
+            "USER_INTERACTION_UNSPECIFIED",
+            "USER_INTERACTION_NONE",
+            "USER_INTERACTION_REQUIRED"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Category": {
       "description": "The category to which the update belongs.",
       "id": "Category",
@@ -1878,6 +2030,10 @@
           "format": "float",
           "type": "number"
         },
+        "cvssv3": {
+          "$ref": "CVSS",
+          "description": "The cvss v3 score for the vulnerability."
+        },
         "effectiveSeverity": {
           "description": "The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.",
           "enum": [
diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
index 588a2a3..027d1d7 100644
--- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
@@ -339,7 +339,7 @@
       }
     }
   },
-  "revision": "20211115",
+  "revision": "20211206",
   "rootUrl": "https://ondemandscanning.googleapis.com/",
   "schemas": {
     "AliasContext": {
@@ -592,6 +592,158 @@
       },
       "type": "object"
     },
+    "CVSS": {
+      "description": "Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score.",
+      "id": "CVSS",
+      "properties": {
+        "attackComplexity": {
+          "enum": [
+            "ATTACK_COMPLEXITY_UNSPECIFIED",
+            "ATTACK_COMPLEXITY_LOW",
+            "ATTACK_COMPLEXITY_HIGH"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "attackVector": {
+          "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.",
+          "enum": [
+            "ATTACK_VECTOR_UNSPECIFIED",
+            "ATTACK_VECTOR_NETWORK",
+            "ATTACK_VECTOR_ADJACENT",
+            "ATTACK_VECTOR_LOCAL",
+            "ATTACK_VECTOR_PHYSICAL"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "authentication": {
+          "enum": [
+            "AUTHENTICATION_UNSPECIFIED",
+            "AUTHENTICATION_MULTIPLE",
+            "AUTHENTICATION_SINGLE",
+            "AUTHENTICATION_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "availabilityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "baseScore": {
+          "description": "The base score is a function of the base metric scores.",
+          "format": "float",
+          "type": "number"
+        },
+        "confidentialityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "exploitabilityScore": {
+          "format": "float",
+          "type": "number"
+        },
+        "impactScore": {
+          "format": "float",
+          "type": "number"
+        },
+        "integrityImpact": {
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "privilegesRequired": {
+          "enum": [
+            "PRIVILEGES_REQUIRED_UNSPECIFIED",
+            "PRIVILEGES_REQUIRED_NONE",
+            "PRIVILEGES_REQUIRED_LOW",
+            "PRIVILEGES_REQUIRED_HIGH"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "scope": {
+          "enum": [
+            "SCOPE_UNSPECIFIED",
+            "SCOPE_UNCHANGED",
+            "SCOPE_CHANGED"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "userInteraction": {
+          "enum": [
+            "USER_INTERACTION_UNSPECIFIED",
+            "USER_INTERACTION_NONE",
+            "USER_INTERACTION_REQUIRED"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Category": {
       "description": "The category to which the update belongs.",
       "id": "Category",
@@ -1874,6 +2026,10 @@
           "format": "float",
           "type": "number"
         },
+        "cvssv3": {
+          "$ref": "CVSS",
+          "description": "The cvss v3 score for the vulnerability."
+        },
         "effectiveSeverity": {
           "description": "The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues.",
           "enum": [
diff --git a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
index 08e3a46..5027a28 100644
--- a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
+++ b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
@@ -783,7 +783,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://orgpolicy.googleapis.com/",
   "schemas": {
     "GoogleCloudOrgpolicyV2Constraint": {
diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1.json b/googleapiclient/discovery_cache/documents/osconfig.v1.json
index 181aea6..9b99b9f 100644
--- a/googleapiclient/discovery_cache/documents/osconfig.v1.json
+++ b/googleapiclient/discovery_cache/documents/osconfig.v1.json
@@ -765,6 +765,62 @@
               "scopes": [
                 "https://www.googleapis.com/auth/cloud-platform"
               ]
+            },
+            "pause": {
+              "description": "Change state of patch deployment to \"PAUSED\". Patch deployment in paused state doesn't generate patch jobs.",
+              "flatPath": "v1/projects/{projectsId}/patchDeployments/{patchDeploymentsId}:pause",
+              "httpMethod": "POST",
+              "id": "osconfig.projects.patchDeployments.pause",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}:pause",
+              "request": {
+                "$ref": "PausePatchDeploymentRequest"
+              },
+              "response": {
+                "$ref": "PatchDeployment"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "resume": {
+              "description": "Change state of patch deployment back to \"ACTIVE\". Patch deployment in active state continues to generate patch jobs.",
+              "flatPath": "v1/projects/{projectsId}/patchDeployments/{patchDeploymentsId}:resume",
+              "httpMethod": "POST",
+              "id": "osconfig.projects.patchDeployments.resume",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}:resume",
+              "request": {
+                "$ref": "ResumePatchDeploymentRequest"
+              },
+              "response": {
+                "$ref": "PatchDeployment"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
             }
           }
         },
@@ -944,7 +1000,7 @@
       }
     }
   },
-  "revision": "20211106",
+  "revision": "20211203",
   "rootUrl": "https://osconfig.googleapis.com/",
   "schemas": {
     "AptSettings": {
@@ -2885,6 +2941,21 @@
           "$ref": "PatchRollout",
           "description": "Optional. Rollout strategy of the patch job."
         },
+        "state": {
+          "description": "Output only. Current state of the patch deployment.",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "ACTIVE",
+            "PAUSED"
+          ],
+          "enumDescriptions": [
+            "The default value. This value is used if the state is omitted.",
+            "Active value means that patch deployment generates Patch Jobs.",
+            "Paused value means that patch deployment does not generate Patch jobs. Requires user action to move in and out from this state."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
         "updateTime": {
           "description": "Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "format": "google-datetime",
@@ -3210,6 +3281,12 @@
       },
       "type": "object"
     },
+    "PausePatchDeploymentRequest": {
+      "description": "A request message for pausing a patch deployment.",
+      "id": "PausePatchDeploymentRequest",
+      "properties": {},
+      "type": "object"
+    },
     "RecurringSchedule": {
       "description": "Sets the time for recurring patch deployments.",
       "id": "RecurringSchedule",
@@ -3271,6 +3348,12 @@
       },
       "type": "object"
     },
+    "ResumePatchDeploymentRequest": {
+      "description": "A request message for resuming a patch deployment.",
+      "id": "ResumePatchDeploymentRequest",
+      "properties": {},
+      "type": "object"
+    },
     "Status": {
       "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json b/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json
index a787c07..70a5ed1 100644
--- a/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json
@@ -684,7 +684,7 @@
       }
     }
   },
-  "revision": "20211106",
+  "revision": "20211203",
   "rootUrl": "https://osconfig.googleapis.com/",
   "schemas": {
     "CVSSv3": {
diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1beta.json b/googleapiclient/discovery_cache/documents/osconfig.v1beta.json
index 39f75bd..cc20697 100644
--- a/googleapiclient/discovery_cache/documents/osconfig.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/osconfig.v1beta.json
@@ -418,6 +418,62 @@
               "scopes": [
                 "https://www.googleapis.com/auth/cloud-platform"
               ]
+            },
+            "pause": {
+              "description": "Change state of patch deployment to \"PAUSED\". Patch deployment in paused state doesn't generate patch jobs.",
+              "flatPath": "v1beta/projects/{projectsId}/patchDeployments/{patchDeploymentsId}:pause",
+              "httpMethod": "POST",
+              "id": "osconfig.projects.patchDeployments.pause",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1beta/{+name}:pause",
+              "request": {
+                "$ref": "PausePatchDeploymentRequest"
+              },
+              "response": {
+                "$ref": "PatchDeployment"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "resume": {
+              "description": "Change state of patch deployment back to \"ACTIVE\". Patch deployment in active state continues to generate patch jobs.",
+              "flatPath": "v1beta/projects/{projectsId}/patchDeployments/{patchDeploymentsId}:resume",
+              "httpMethod": "POST",
+              "id": "osconfig.projects.patchDeployments.resume",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1beta/{+name}:resume",
+              "request": {
+                "$ref": "ResumePatchDeploymentRequest"
+              },
+              "response": {
+                "$ref": "PatchDeployment"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
             }
           }
         },
@@ -633,7 +689,7 @@
       }
     }
   },
-  "revision": "20211106",
+  "revision": "20211203",
   "rootUrl": "https://osconfig.googleapis.com/",
   "schemas": {
     "AptRepository": {
@@ -1472,6 +1528,21 @@
           "$ref": "PatchRollout",
           "description": "Optional. Rollout strategy of the patch job."
         },
+        "state": {
+          "description": "Output only. Current state of the patch deployment.",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "ACTIVE",
+            "PAUSED"
+          ],
+          "enumDescriptions": [
+            "The default value. This value is used if the state is omitted.",
+            "Active value means that patch deployment generates Patch Jobs.",
+            "Paused value means that patch deployment does not generate Patch jobs. Requires user action to move in and out from this state."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
         "updateTime": {
           "description": "Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "format": "google-datetime",
@@ -1797,6 +1868,12 @@
       },
       "type": "object"
     },
+    "PausePatchDeploymentRequest": {
+      "description": "A request message for pausing a patch deployment.",
+      "id": "PausePatchDeploymentRequest",
+      "properties": {},
+      "type": "object"
+    },
     "RecurringSchedule": {
       "description": "Sets the time for recurring patch deployments.",
       "id": "RecurringSchedule",
@@ -1858,6 +1935,12 @@
       },
       "type": "object"
     },
+    "ResumePatchDeploymentRequest": {
+      "description": "A request message for resuming a patch deployment.",
+      "id": "ResumePatchDeploymentRequest",
+      "properties": {},
+      "type": "object"
+    },
     "SoftwareRecipe": {
       "description": "A software recipe is a set of instructions for installing and configuring a piece of software. It consists of a set of artifacts that are downloaded, and a set of steps that install, configure, and/or update the software. Recipes support installing and updating software from artifacts in the following formats: Zip archive, Tar archive, Windows MSI, Debian package, and RPM package. Additionally, recipes support executing a script (either defined in a file or directly in this api) in bash, sh, cmd, and powershell. Updating a software recipe If a recipe is assigned to an instance and there is a recipe with the same name but a lower version already installed and the assigned state of the recipe is `UPDATED`, then the recipe is updated to the new version. Script Working Directories Each script or execution step is run in its own temporary directory which is deleted after completing the step.",
       "id": "SoftwareRecipe",
diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1.json b/googleapiclient/discovery_cache/documents/oslogin.v1.json
index 12cd6c0..464e34e 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1.json
@@ -220,13 +220,13 @@
             }
           }
         },
-        "sshPublicKey": {
+        "sshPublicKeys": {
           "methods": {
             "create": {
               "description": "Create an SSH public key",
-              "flatPath": "v1/users/{usersId}/sshPublicKey",
+              "flatPath": "v1/users/{usersId}/sshPublicKeys",
               "httpMethod": "POST",
-              "id": "oslogin.users.sshPublicKey.create",
+              "id": "oslogin.users.sshPublicKeys.create",
               "parameterOrder": [
                 "parent"
               ],
@@ -239,7 +239,7 @@
                   "type": "string"
                 }
               },
-              "path": "v1/{+parent}/sshPublicKey",
+              "path": "v1/{+parent}/sshPublicKeys",
               "request": {
                 "$ref": "SshPublicKey"
               },
@@ -250,11 +250,7 @@
                 "https://www.googleapis.com/auth/cloud-platform",
                 "https://www.googleapis.com/auth/compute"
               ]
-            }
-          }
-        },
-        "sshPublicKeys": {
-          "methods": {
+            },
             "delete": {
               "description": "Deletes an SSH public key.",
               "flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
@@ -347,7 +343,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://oslogin.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json b/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json
index 022219a..b71ea8b 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json
@@ -280,13 +280,13 @@
             }
           }
         },
-        "sshPublicKey": {
+        "sshPublicKeys": {
           "methods": {
             "create": {
               "description": "Create an SSH public key",
-              "flatPath": "v1alpha/users/{usersId}/sshPublicKey",
+              "flatPath": "v1alpha/users/{usersId}/sshPublicKeys",
               "httpMethod": "POST",
-              "id": "oslogin.users.sshPublicKey.create",
+              "id": "oslogin.users.sshPublicKeys.create",
               "parameterOrder": [
                 "parent"
               ],
@@ -299,7 +299,7 @@
                   "type": "string"
                 }
               },
-              "path": "v1alpha/{+parent}/sshPublicKey",
+              "path": "v1alpha/{+parent}/sshPublicKeys",
               "request": {
                 "$ref": "SshPublicKey"
               },
@@ -310,11 +310,7 @@
                 "https://www.googleapis.com/auth/cloud-platform",
                 "https://www.googleapis.com/auth/compute"
               ]
-            }
-          }
-        },
-        "sshPublicKeys": {
-          "methods": {
+            },
             "delete": {
               "description": "Deletes an SSH public key.",
               "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
@@ -407,7 +403,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://oslogin.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1beta.json b/googleapiclient/discovery_cache/documents/oslogin.v1beta.json
index beec916..e45ae1a 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1beta.json
@@ -250,13 +250,13 @@
             }
           }
         },
-        "sshPublicKey": {
+        "sshPublicKeys": {
           "methods": {
             "create": {
               "description": "Create an SSH public key",
-              "flatPath": "v1beta/users/{usersId}/sshPublicKey",
+              "flatPath": "v1beta/users/{usersId}/sshPublicKeys",
               "httpMethod": "POST",
-              "id": "oslogin.users.sshPublicKey.create",
+              "id": "oslogin.users.sshPublicKeys.create",
               "parameterOrder": [
                 "parent"
               ],
@@ -269,7 +269,7 @@
                   "type": "string"
                 }
               },
-              "path": "v1beta/{+parent}/sshPublicKey",
+              "path": "v1beta/{+parent}/sshPublicKeys",
               "request": {
                 "$ref": "SshPublicKey"
               },
@@ -280,11 +280,7 @@
                 "https://www.googleapis.com/auth/cloud-platform",
                 "https://www.googleapis.com/auth/compute"
               ]
-            }
-          }
-        },
-        "sshPublicKeys": {
-          "methods": {
+            },
             "delete": {
               "description": "Deletes an SSH public key.",
               "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
@@ -377,7 +373,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://oslogin.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
index 8d44ad7..7e745b9 100644
--- a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
+++ b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
@@ -193,7 +193,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211210",
   "rootUrl": "https://pagespeedonline.googleapis.com/",
   "schemas": {
     "AuditRefs": {
diff --git a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
index 8d0c3db..a78b20c 100644
--- a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
+++ b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
@@ -366,7 +366,7 @@
       }
     }
   },
-  "revision": "20211206",
+  "revision": "20211213",
   "rootUrl": "https://paymentsresellersubscription.googleapis.com/",
   "schemas": {
     "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/people.v1.json b/googleapiclient/discovery_cache/documents/people.v1.json
index b5794d8..7b42412 100644
--- a/googleapiclient/discovery_cache/documents/people.v1.json
+++ b/googleapiclient/discovery_cache/documents/people.v1.json
@@ -1172,7 +1172,7 @@
       }
     }
   },
-  "revision": "20211202",
+  "revision": "20211209",
   "rootUrl": "https://people.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
index 48cce10..03d46b0 100644
--- a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
+++ b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
@@ -158,7 +158,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://playcustomapp.googleapis.com/",
   "schemas": {
     "CustomApp": {
diff --git a/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json b/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json
index b09af31..9f7489a 100644
--- a/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json
+++ b/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json
@@ -163,7 +163,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://policyanalyzer.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicyanalyzerV1Activity": {
diff --git a/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json b/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json
index cad3a90..dc8e41d 100644
--- a/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json
@@ -163,7 +163,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://policyanalyzer.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicyanalyzerV1beta1Activity": {
diff --git a/googleapiclient/discovery_cache/documents/policysimulator.v1.json b/googleapiclient/discovery_cache/documents/policysimulator.v1.json
index c04fc7d..ca5e186 100644
--- a/googleapiclient/discovery_cache/documents/policysimulator.v1.json
+++ b/googleapiclient/discovery_cache/documents/policysimulator.v1.json
@@ -493,7 +493,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://policysimulator.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicysimulatorV1AccessStateDiff": {
diff --git a/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json b/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
index c98dc2f..cdb671e 100644
--- a/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
@@ -493,7 +493,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://policysimulator.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicysimulatorV1Replay": {
diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
index 1dca19f..68bd8d9 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://policytroubleshooter.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicytroubleshooterV1AccessTuple": {
diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
index b0c678c..4eb6c12 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://policytroubleshooter.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicytroubleshooterV1betaAccessTuple": {
diff --git a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
index e3216a9..8a9768a 100644
--- a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
@@ -2527,7 +2527,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211208",
   "rootUrl": "https://prod-tt-sasportal.googleapis.com/",
   "schemas": {
     "SasPortalAssignment": {
diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1.json b/googleapiclient/discovery_cache/documents/pubsub.v1.json
index 86d2e38..c13d6ab 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1.json
@@ -1424,7 +1424,7 @@
       }
     }
   },
-  "revision": "20211108",
+  "revision": "20211130",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
@@ -2045,7 +2045,7 @@
         },
         "pushConfig": {
           "$ref": "PushConfig",
-          "description": "If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods."
+          "description": "If push delivery is used with this subscription, this field is used to configure it. At most one of `pushConfig` and `bigQueryConfig` can be set. If both are empty, then the subscriber will pull and ack messages using API methods."
         },
         "retainAckedMessages": {
           "description": "Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages.",
@@ -2055,6 +2055,21 @@
           "$ref": "RetryPolicy",
           "description": "A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message."
         },
+        "state": {
+          "description": "Output only. An output-only field indicating whether or not the subscription can receive messages.",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "ACTIVE",
+            "RESOURCE_ERROR"
+          ],
+          "enumDescriptions": [
+            "Default value. This value is unused.",
+            "The subscription can actively receive messages",
+            "The subscription cannot receive messages because of an error with the resource to which it pushes messages. See the more detailed error state in the corresponding configuration."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
         "topic": {
           "description": "Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
index b95bda8..f083599 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
@@ -457,7 +457,7 @@
       }
     }
   },
-  "revision": "20211108",
+  "revision": "20211130",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
index 375fe9b..1b5c705 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
@@ -724,7 +724,7 @@
       }
     }
   },
-  "revision": "20211108",
+  "revision": "20211130",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
diff --git a/googleapiclient/discovery_cache/documents/pubsublite.v1.json b/googleapiclient/discovery_cache/documents/pubsublite.v1.json
index b635855..28c4005 100644
--- a/googleapiclient/discovery_cache/documents/pubsublite.v1.json
+++ b/googleapiclient/discovery_cache/documents/pubsublite.v1.json
@@ -1040,7 +1040,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211203",
   "rootUrl": "https://pubsublite.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
index 9c733d7..80c9e59 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
@@ -1174,7 +1174,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211213",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "ActivatePretargetingConfigRequest": {
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
index c3109ba..10ec36a 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
@@ -234,7 +234,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211213",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "ActivateBiddingFunctionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
index d94144d..d4d9cb0 100644
--- a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
+++ b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
@@ -489,7 +489,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://recaptchaenterprise.googleapis.com/",
   "schemas": {
     "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": {
@@ -571,6 +571,8 @@
             "enum": [
               "REASON_UNSPECIFIED",
               "CHARGEBACK",
+              "CHARGEBACK_FRAUD",
+              "CHARGEBACK_DISPUTE",
               "PAYMENT_HEURISTICS",
               "INITIATED_TWO_FACTOR",
               "PASSED_TWO_FACTOR",
@@ -580,7 +582,9 @@
             ],
             "enumDescriptions": [
               "Default unspecified reason.",
-              "Indicates a chargeback for fraud was issued for the transaction associated with the assessment.",
+              "Indicates a chargeback was issued for the transaction associated with the assessment, with no other details. When possible, specify the type by using CHARGEBACK_FRAUD or CHARGEBACK_DISPUTE instead.",
+              "Indicates a chargeback related to an alleged unauthorized transaction from the perspective of the cardholder (for example, the card number was stolen).",
+              "Indicates a chargeback related to the cardholder having provided their card but allegedly not being satisfied with the purchase (for example, misrepresentation, attempted cancellation).",
               "Indicates the transaction associated with the assessment is suspected of being fraudulent based on the payment method, billing details, shipping address or other transaction information.",
               "Indicates that the user was served a 2FA challenge. An old assessment with `ENUM_VALUES.INITIATED_TWO_FACTOR` reason that has not been overwritten with `PASSED_TWO_FACTOR` is treated as an abandoned 2FA flow. This is equivalent to `FAILED_TWO_FACTOR`.",
               "Indicates that the user passed a 2FA challenge.",
diff --git a/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json b/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json
index 77f8fcf..7c06e04 100644
--- a/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json
@@ -301,7 +301,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. A filter to apply on the list results.",
+                          "description": "Optional. Use of this field is not supported by version v1beta1.",
                           "location": "query",
                           "type": "string"
                         },
@@ -842,7 +842,7 @@
       }
     }
   },
-  "revision": "20211111",
+  "revision": "20211211",
   "rootUrl": "https://recommendationengine.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1.json b/googleapiclient/discovery_cache/documents/recommender.v1.json
index c25fcd8..38b0336 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1.json
@@ -1178,7 +1178,7 @@
       }
     }
   },
-  "revision": "20211115",
+  "revision": "20211205",
   "rootUrl": "https://recommender.googleapis.com/",
   "schemas": {
     "GoogleCloudRecommenderV1CostProjection": {
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
index 01441fa..14c36ce 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
@@ -696,7 +696,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`",
+                      "description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`",
                       "location": "path",
                       "pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$",
                       "required": true,
@@ -864,7 +864,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[RECOMMENDER_ID]/config`",
+                      "description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`",
                       "location": "path",
                       "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/config$",
                       "required": true,
@@ -1057,7 +1057,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`",
+                      "description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$",
                       "required": true,
@@ -1225,7 +1225,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[RECOMMENDER_ID]/config`",
+                      "description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/config$",
                       "required": true,
@@ -1442,7 +1442,7 @@
       }
     }
   },
-  "revision": "20211115",
+  "revision": "20211205",
   "rootUrl": "https://recommender.googleapis.com/",
   "schemas": {
     "GoogleCloudRecommenderV1beta1CostProjection": {
diff --git a/googleapiclient/discovery_cache/documents/redis.v1.json b/googleapiclient/discovery_cache/documents/redis.v1.json
index 62c89f7..636e8ae 100644
--- a/googleapiclient/discovery_cache/documents/redis.v1.json
+++ b/googleapiclient/discovery_cache/documents/redis.v1.json
@@ -624,15 +624,150 @@
       }
     }
   },
-  "revision": "20211109",
+  "revision": "20211202",
   "rootUrl": "https://redis.googleapis.com/",
   "schemas": {
+    "Cluster": {
+      "description": "A cluster instance.",
+      "id": "Cluster",
+      "properties": {
+        "clusterUid": {
+          "description": "Output only. UID of the cluster for use by Pantheon for analytics.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "createTime": {
+          "description": "Output only. The timestamp associated with the cluster creation request.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "customerManagedKey": {
+          "description": "Input only. The KMS key reference that the customer provides when trying to create the instance.",
+          "type": "string"
+        },
+        "defaultReplicaCount": {
+          "description": "Optional. The number of replica nodes per shard. Valid range is [1-2] and defaults to 1.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "displayName": {
+          "description": "Optional. An arbitrary and optional user-provided name for the cluster.",
+          "type": "string"
+        },
+        "endpoints": {
+          "description": "Output only. Hostname or IP address and port pairs used to connect to the cluster.",
+          "items": {
+            "$ref": "Endpoint"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
+        "name": {
+          "description": "Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`",
+          "type": "string"
+        },
+        "privateServiceConnect": {
+          "$ref": "PrivateServiceConnect",
+          "description": "Optional. Populate to use private service connect network option."
+        },
+        "redisConfigs": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 6.x and newer: * lfu-decay-time * lfu-log-factor * maxmemory-policy",
+          "type": "object"
+        },
+        "slots": {
+          "description": "Output only. The slots making up the cluster. Read-only. In future versions this will be writable to allow for heterogeneous clusters.",
+          "items": {
+            "$ref": "ClusterSlots"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
+        "state": {
+          "description": "Output only. The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "CREATING",
+            "ACTIVE",
+            "UPDATING",
+            "DELETING"
+          ],
+          "enumDescriptions": [
+            "Not set.",
+            "Redis cluster is being created.",
+            "Redis cluster has been created and is fully usable.",
+            "Redis cluster configuration is being updated.",
+            "Redis cluster is being deleted."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
+        "totalMemorySizeGb": {
+          "description": "Optional. Redis memory size in GiB for the entire cluster. Defaults to 32.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "ClusterSlots": {
+      "description": "A series of slots belonging to a cluster.",
+      "id": "ClusterSlots",
+      "properties": {
+        "endSlotsExclusive": {
+          "description": "Output only. The end of the slots that make up this series.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        },
+        "memorySizeGb": {
+          "description": "Output only. The total size of keyspace this series has.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        },
+        "replicaCount": {
+          "description": "Output only. The number of replicas this series has.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        },
+        "startSlotsInclusive": {
+          "description": "Output only. The start of the slots that make up this series.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
     "Empty": {
       "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
+    "Endpoint": {
+      "description": "An endpoint exposed by a cluster. In the future we will add an enum to identify whether this endpoint is read/write or read-only when the feature is ready.",
+      "id": "Endpoint",
+      "properties": {
+        "host": {
+          "description": "Output only. Hostname or IP address of the exposed Redis endpoint used by clients to connect to the service.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "port": {
+          "description": "Output only. The port number of the exposed Redis endpoint.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
     "ExportInstanceRequest": {
       "description": "Request for Export.",
       "id": "ExportInstanceRequest",
@@ -1263,6 +1398,22 @@
       },
       "type": "object"
     },
+    "PrivateServiceConnect": {
+      "description": "Contains private service connect specific options.",
+      "id": "PrivateServiceConnect",
+      "properties": {
+        "pscService": {
+          "description": "Output only. The address of the Private Service Connect (PSC) service that the customer can use to connect this instance to their local network.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "pscServiceRoute": {
+          "description": "Optional. The service route to connect using Private Service Connect. On Instance creation, this will automatically connect this route to this instance.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "RescheduleMaintenanceRequest": {
       "description": "Request for RescheduleMaintenance.",
       "id": "RescheduleMaintenanceRequest",
diff --git a/googleapiclient/discovery_cache/documents/redis.v1beta1.json b/googleapiclient/discovery_cache/documents/redis.v1beta1.json
index f748ea0..b69bb70 100644
--- a/googleapiclient/discovery_cache/documents/redis.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/redis.v1beta1.json
@@ -624,15 +624,150 @@
       }
     }
   },
-  "revision": "20211109",
+  "revision": "20211202",
   "rootUrl": "https://redis.googleapis.com/",
   "schemas": {
+    "Cluster": {
+      "description": "A cluster instance.",
+      "id": "Cluster",
+      "properties": {
+        "clusterUid": {
+          "description": "Output only. UID of the cluster for use by Pantheon for analytics.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "createTime": {
+          "description": "Output only. The timestamp associated with the cluster creation request.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "customerManagedKey": {
+          "description": "Input only. The KMS key reference that the customer provides when trying to create the instance.",
+          "type": "string"
+        },
+        "defaultReplicaCount": {
+          "description": "Optional. The number of replica nodes per shard. Valid range is [1-2] and defaults to 1.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "displayName": {
+          "description": "Optional. An arbitrary and optional user-provided name for the cluster.",
+          "type": "string"
+        },
+        "endpoints": {
+          "description": "Output only. Hostname or IP address and port pairs used to connect to the cluster.",
+          "items": {
+            "$ref": "Endpoint"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
+        "name": {
+          "description": "Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`",
+          "type": "string"
+        },
+        "privateServiceConnect": {
+          "$ref": "PrivateServiceConnect",
+          "description": "Optional. Populate to use private service connect network option."
+        },
+        "redisConfigs": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 6.x and newer: * lfu-decay-time * lfu-log-factor * maxmemory-policy",
+          "type": "object"
+        },
+        "slots": {
+          "description": "Output only. The slots making up the cluster. Read-only. In future versions this will be writable to allow for heterogeneous clusters.",
+          "items": {
+            "$ref": "ClusterSlots"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
+        "state": {
+          "description": "Output only. The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "CREATING",
+            "ACTIVE",
+            "UPDATING",
+            "DELETING"
+          ],
+          "enumDescriptions": [
+            "Not set.",
+            "Redis cluster is being created.",
+            "Redis cluster has been created and is fully usable.",
+            "Redis cluster configuration is being updated.",
+            "Redis cluster is being deleted."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
+        "totalMemorySizeGb": {
+          "description": "Optional. Redis memory size in GiB for the entire cluster. Defaults to 32.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "ClusterSlots": {
+      "description": "A series of slots belonging to a cluster.",
+      "id": "ClusterSlots",
+      "properties": {
+        "endSlotsExclusive": {
+          "description": "Output only. The end of the slots that make up this series.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        },
+        "memorySizeGb": {
+          "description": "Output only. The total size of keyspace this series has.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        },
+        "replicaCount": {
+          "description": "Output only. The number of replicas this series has.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        },
+        "startSlotsInclusive": {
+          "description": "Output only. The start of the slots that make up this series.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
     "Empty": {
       "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
+    "Endpoint": {
+      "description": "An endpoint exposed by a cluster. In the future we will add an enum to identify whether this endpoint is read/write or read-only when the feature is ready.",
+      "id": "Endpoint",
+      "properties": {
+        "host": {
+          "description": "Output only. Hostname or IP address of the exposed Redis endpoint used by clients to connect to the service.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "port": {
+          "description": "Output only. The port number of the exposed Redis endpoint.",
+          "format": "int32",
+          "readOnly": true,
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
     "ExportInstanceRequest": {
       "description": "Request for Export.",
       "id": "ExportInstanceRequest",
@@ -1270,6 +1405,22 @@
       },
       "type": "object"
     },
+    "PrivateServiceConnect": {
+      "description": "Contains private service connect specific options.",
+      "id": "PrivateServiceConnect",
+      "properties": {
+        "pscService": {
+          "description": "Output only. The address of the Private Service Connect (PSC) service that the customer can use to connect this instance to their local network.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "pscServiceRoute": {
+          "description": "Optional. The service route to connect using Private Service Connect. On Instance creation, this will automatically connect this route to this instance.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "RescheduleMaintenanceRequest": {
       "description": "Request for RescheduleMaintenance.",
       "id": "RescheduleMaintenanceRequest",
diff --git a/googleapiclient/discovery_cache/documents/reseller.v1.json b/googleapiclient/discovery_cache/documents/reseller.v1.json
index 8d3fa36..2af1b00 100644
--- a/googleapiclient/discovery_cache/documents/reseller.v1.json
+++ b/googleapiclient/discovery_cache/documents/reseller.v1.json
@@ -631,7 +631,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211208",
   "rootUrl": "https://reseller.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/resourcesettings.v1.json b/googleapiclient/discovery_cache/documents/resourcesettings.v1.json
index 79289b2..6563c7c 100644
--- a/googleapiclient/discovery_cache/documents/resourcesettings.v1.json
+++ b/googleapiclient/discovery_cache/documents/resourcesettings.v1.json
@@ -499,7 +499,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://resourcesettings.googleapis.com/",
   "schemas": {
     "GoogleCloudResourcesettingsV1ListSettingsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/retail.v2.json b/googleapiclient/discovery_cache/documents/retail.v2.json
index 3f8d2fe..2678d86 100644
--- a/googleapiclient/discovery_cache/documents/retail.v2.json
+++ b/googleapiclient/discovery_cache/documents/retail.v2.json
@@ -1007,7 +1007,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://retail.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -1429,7 +1429,7 @@
       "id": "GoogleCloudRetailV2GcsSource",
       "properties": {
         "dataSchema": {
-          "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.",
+          "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * 'control' (default): One JSON Control per line.",
           "type": "string"
         },
         "inputUris": {
@@ -1826,7 +1826,7 @@
           "type": "number"
         },
         "price": {
-          "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).",
+          "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).",
           "format": "float",
           "type": "number"
         },
@@ -2405,7 +2405,7 @@
           "type": "array"
         },
         "visitorId": {
-          "description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.",
+          "description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.",
           "type": "string"
         }
       },
@@ -2741,7 +2741,7 @@
           "description": "Required. The inventory information to update. The allowable fields to update are: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info The updated inventory fields must be specified in SetInventoryRequest.set_mask. If SetInventoryRequest.inventory.name is empty or invalid, an INVALID_ARGUMENT error is returned. If the caller does not have permission to update the Product named in Product.name, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to update does not have existing inventory information, the provided inventory information will be inserted. If the Product to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time. The last update time is recorded for the following inventory fields: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info If a full overwrite of inventory information while ignoring timestamps is needed, UpdateProduct should be invoked instead."
         },
         "setMask": {
-          "description": "Indicates which inventory fields in the provided Product to update. If not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.",
+          "description": "Indicates which inventory fields in the provided Product to update. At least one field must be provided. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.",
           "format": "google-fieldmask",
           "type": "string"
         },
diff --git a/googleapiclient/discovery_cache/documents/retail.v2alpha.json b/googleapiclient/discovery_cache/documents/retail.v2alpha.json
index f607440..cbc023e 100644
--- a/googleapiclient/discovery_cache/documents/retail.v2alpha.json
+++ b/googleapiclient/discovery_cache/documents/retail.v2alpha.json
@@ -1096,7 +1096,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://retail.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -1815,7 +1815,7 @@
       "id": "GoogleCloudRetailV2alphaGcsSource",
       "properties": {
         "dataSchema": {
-          "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.",
+          "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * 'control' (default): One JSON Control per line.",
           "type": "string"
         },
         "inputUris": {
@@ -2117,7 +2117,7 @@
           "additionalProperties": {
             "$ref": "GoogleCloudRetailV2alphaCustomAttribute"
           },
-          "description": "Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * The max number of values per attribute is 10. * For text values, the length limit is 64 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.",
+          "description": "Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * The max number of values per attribute is 10. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.",
           "type": "object"
         },
         "placeId": {
@@ -2284,7 +2284,7 @@
           "type": "number"
         },
         "price": {
-          "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).",
+          "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).",
           "format": "float",
           "type": "number"
         },
@@ -2916,7 +2916,7 @@
           "type": "array"
         },
         "visitorId": {
-          "description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.",
+          "description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.",
           "type": "string"
         }
       },
@@ -3252,7 +3252,7 @@
           "description": "Required. The inventory information to update. The allowable fields to update are: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info The updated inventory fields must be specified in SetInventoryRequest.set_mask. If SetInventoryRequest.inventory.name is empty or invalid, an INVALID_ARGUMENT error is returned. If the caller does not have permission to update the Product named in Product.name, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to update does not have existing inventory information, the provided inventory information will be inserted. If the Product to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time. The last update time is recorded for the following inventory fields: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info If a full overwrite of inventory information while ignoring timestamps is needed, UpdateProduct should be invoked instead."
         },
         "setMask": {
-          "description": "Indicates which inventory fields in the provided Product to update. If not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.",
+          "description": "Indicates which inventory fields in the provided Product to update. At least one field must be provided. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.",
           "format": "google-fieldmask",
           "type": "string"
         },
diff --git a/googleapiclient/discovery_cache/documents/retail.v2beta.json b/googleapiclient/discovery_cache/documents/retail.v2beta.json
index a17a8ad..0a0e435 100644
--- a/googleapiclient/discovery_cache/documents/retail.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/retail.v2beta.json
@@ -1007,7 +1007,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://retail.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -1971,7 +1971,7 @@
       "id": "GoogleCloudRetailV2betaGcsSource",
       "properties": {
         "dataSchema": {
-          "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.",
+          "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * 'control' (default): One JSON Control per line.",
           "type": "string"
         },
         "inputUris": {
@@ -2368,7 +2368,7 @@
           "type": "number"
         },
         "price": {
-          "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).",
+          "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.price](https://schema.org/price).",
           "format": "float",
           "type": "number"
         },
@@ -2947,7 +2947,7 @@
           "type": "array"
         },
         "visitorId": {
-          "description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.",
+          "description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.",
           "type": "string"
         }
       },
@@ -3283,7 +3283,7 @@
           "description": "Required. The inventory information to update. The allowable fields to update are: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info The updated inventory fields must be specified in SetInventoryRequest.set_mask. If SetInventoryRequest.inventory.name is empty or invalid, an INVALID_ARGUMENT error is returned. If the caller does not have permission to update the Product named in Product.name, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to update does not have existing inventory information, the provided inventory information will be inserted. If the Product to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time. The last update time is recorded for the following inventory fields: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info If a full overwrite of inventory information while ignoring timestamps is needed, UpdateProduct should be invoked instead."
         },
         "setMask": {
-          "description": "Indicates which inventory fields in the provided Product to update. If not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.",
+          "description": "Indicates which inventory fields in the provided Product to update. At least one field must be provided. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.",
           "format": "google-fieldmask",
           "type": "string"
         },
diff --git a/googleapiclient/discovery_cache/documents/run.v1.json b/googleapiclient/discovery_cache/documents/run.v1.json
index 7773de9..98b54c6 100644
--- a/googleapiclient/discovery_cache/documents/run.v1.json
+++ b/googleapiclient/discovery_cache/documents/run.v1.json
@@ -1768,7 +1768,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://run.googleapis.com/",
   "schemas": {
     "Addressable": {
diff --git a/googleapiclient/discovery_cache/documents/run.v1alpha1.json b/googleapiclient/discovery_cache/documents/run.v1alpha1.json
index 0dd523b..214ec78 100644
--- a/googleapiclient/discovery_cache/documents/run.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/run.v1alpha1.json
@@ -268,7 +268,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://run.googleapis.com/",
   "schemas": {
     "ConfigMapEnvSource": {
diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
index 390d862..44396d1 100644
--- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
+++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
@@ -210,7 +210,7 @@
       }
     }
   },
-  "revision": "20211118",
+  "revision": "20211213",
   "rootUrl": "https://runtimeconfig.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
index 0defc7f..fb52a8a 100644
--- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
@@ -805,7 +805,7 @@
       }
     }
   },
-  "revision": "20211118",
+  "revision": "20211206",
   "rootUrl": "https://runtimeconfig.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
index fc4025d..63c8230 100644
--- a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
+++ b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
@@ -261,7 +261,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://safebrowsing.googleapis.com/",
   "schemas": {
     "GoogleProtobufEmpty": {
diff --git a/googleapiclient/discovery_cache/documents/script.v1.json b/googleapiclient/discovery_cache/documents/script.v1.json
index b20c538..f1788c7 100644
--- a/googleapiclient/discovery_cache/documents/script.v1.json
+++ b/googleapiclient/discovery_cache/documents/script.v1.json
@@ -887,7 +887,7 @@
       }
     }
   },
-  "revision": "20211125",
+  "revision": "20211213",
   "rootUrl": "https://script.googleapis.com/",
   "schemas": {
     "Content": {
diff --git a/googleapiclient/discovery_cache/documents/searchconsole.v1.json b/googleapiclient/discovery_cache/documents/searchconsole.v1.json
index 812e66b..4360530 100644
--- a/googleapiclient/discovery_cache/documents/searchconsole.v1.json
+++ b/googleapiclient/discovery_cache/documents/searchconsole.v1.json
@@ -373,7 +373,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://searchconsole.googleapis.com/",
   "schemas": {
     "ApiDataRow": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
index 2af9270..a4c3bf0 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
@@ -2587,9 +2587,40 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211207",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
+    "Access": {
+      "description": "Represents an access event.",
+      "id": "Access",
+      "properties": {
+        "callerIp": {
+          "description": "Caller's IP address, such as \"1.1.1.1\".",
+          "type": "string"
+        },
+        "callerIpGeo": {
+          "$ref": "Geolocation",
+          "description": "The caller IP's geolocation, which identifies where the call came from."
+        },
+        "methodName": {
+          "description": "The method that the service account called, e.g. \"SetIamPolicy\".",
+          "type": "string"
+        },
+        "principalEmail": {
+          "description": "Associated email, such as \"foo@google.com\".",
+          "type": "string"
+        },
+        "serviceName": {
+          "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"",
+          "type": "string"
+        },
+        "userAgentFamily": {
+          "description": "What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Asset": {
       "description": "Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource.",
       "id": "Asset",
@@ -2945,6 +2976,10 @@
       "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.",
       "id": "Finding",
       "properties": {
+        "access": {
+          "$ref": "Access",
+          "description": "Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc."
+        },
         "canonicalName": {
           "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.",
           "type": "string"
@@ -2999,6 +3034,10 @@
           "$ref": "Indicator",
           "description": "Represents what's commonly known as an Indicator of compromise (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise"
         },
+        "mitreAttack": {
+          "$ref": "MitreAttack",
+          "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org"
+        },
         "mute": {
           "description": "Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).",
           "enum": [
@@ -3103,6 +3142,17 @@
       },
       "type": "object"
     },
+    "Geolocation": {
+      "description": "Represents a geographical location for a given access.",
+      "id": "Geolocation",
+      "properties": {
+        "regionCode": {
+          "description": "A CLDR.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GetIamPolicyRequest": {
       "description": "Request message for `GetIamPolicy` method.",
       "id": "GetIamPolicyRequest",
@@ -3126,6 +3176,12 @@
       },
       "type": "object"
     },
+    "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": {
+      "description": "The response to a BulkMute request. Contains the LRO information.",
+      "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse",
+      "properties": {},
+      "type": "object"
+    },
     "GoogleCloudSecuritycenterV1ExternalSystem": {
       "description": "Representation of third party SIEM/SOAR fields within SCC.",
       "id": "GoogleCloudSecuritycenterV1ExternalSystem",
@@ -3883,6 +3939,226 @@
       },
       "type": "object"
     },
+    "MitreAttack": {
+      "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org",
+      "id": "MitreAttack",
+      "properties": {
+        "additionalTactics": {
+          "description": "Additional MITRE ATT&CK tactics related to this finding, if any.",
+          "items": {
+            "enum": [
+              "TACTIC_UNSPECIFIED",
+              "RECONNAISSANCE",
+              "RESOURCE_DEVELOPMENT",
+              "INITIAL_ACCESS",
+              "EXECUTION",
+              "PERSISTENCE",
+              "PRIVILEGE_ESCALATION",
+              "DEFENSE_EVASION",
+              "CREDENTIAL_ACCESS",
+              "DISCOVERY",
+              "LATERAL_MOVEMENT",
+              "COLLECTION",
+              "COMMAND_AND_CONTROL",
+              "EXFILTRATION",
+              "IMPACT"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "TA0043",
+              "TA0042",
+              "TA0001",
+              "TA0002",
+              "TA0003",
+              "TA0004",
+              "TA0005",
+              "TA0006",
+              "TA0007",
+              "TA0008",
+              "TA0009",
+              "TA0011",
+              "TA0010",
+              "TA0040"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "additionalTechniques": {
+          "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.",
+          "items": {
+            "enum": [
+              "TECHNIQUE_UNSPECIFIED",
+              "ACTIVE_SCANNING",
+              "SCANNING_IP_BLOCKS",
+              "INGRESS_TOOL_TRANSFER",
+              "NATIVE_API",
+              "SHARED_MODULES",
+              "COMMAND_AND_SCRIPTING_INTERPRETER",
+              "UNIX_SHELL",
+              "RESOURCE_HIJACKING",
+              "PROXY",
+              "EXTERNAL_PROXY",
+              "MULTI_HOP_PROXY",
+              "DYNAMIC_RESOLUTION",
+              "UNSECURED_CREDENTIALS",
+              "VALID_ACCOUNTS",
+              "LOCAL_ACCOUNTS",
+              "CLOUD_ACCOUNTS",
+              "NETWORK_DENIAL_OF_SERVICE",
+              "PERMISSION_GROUPS_DISCOVERY",
+              "CLOUD_GROUPS",
+              "EXFILTRATION_OVER_WEB_SERVICE",
+              "EXFILTRATION_TO_CLOUD_STORAGE",
+              "ACCOUNT_MANIPULATION",
+              "SSH_AUTHORIZED_KEYS",
+              "CREATE_OR_MODIFY_SYSTEM_PROCESS",
+              "STEAL_WEB_SESSION_COOKIE",
+              "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "T1595",
+              "T1595.001",
+              "T1105",
+              "T1106",
+              "T1129",
+              "T1059",
+              "T1059.004",
+              "T1496",
+              "T1090",
+              "T1090.002",
+              "T1090.003",
+              "T1568",
+              "T1552",
+              "T1078",
+              "T1078.003",
+              "T1078.004",
+              "T1498",
+              "T1069",
+              "T1069.003",
+              "T1567",
+              "T1567.002",
+              "T1098",
+              "T1098.004",
+              "T1543",
+              "T1539",
+              "T1578"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "primaryTactic": {
+          "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.",
+          "enum": [
+            "TACTIC_UNSPECIFIED",
+            "RECONNAISSANCE",
+            "RESOURCE_DEVELOPMENT",
+            "INITIAL_ACCESS",
+            "EXECUTION",
+            "PERSISTENCE",
+            "PRIVILEGE_ESCALATION",
+            "DEFENSE_EVASION",
+            "CREDENTIAL_ACCESS",
+            "DISCOVERY",
+            "LATERAL_MOVEMENT",
+            "COLLECTION",
+            "COMMAND_AND_CONTROL",
+            "EXFILTRATION",
+            "IMPACT"
+          ],
+          "enumDescriptions": [
+            "Unspecified value.",
+            "TA0043",
+            "TA0042",
+            "TA0001",
+            "TA0002",
+            "TA0003",
+            "TA0004",
+            "TA0005",
+            "TA0006",
+            "TA0007",
+            "TA0008",
+            "TA0009",
+            "TA0011",
+            "TA0010",
+            "TA0040"
+          ],
+          "type": "string"
+        },
+        "primaryTechniques": {
+          "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).",
+          "items": {
+            "enum": [
+              "TECHNIQUE_UNSPECIFIED",
+              "ACTIVE_SCANNING",
+              "SCANNING_IP_BLOCKS",
+              "INGRESS_TOOL_TRANSFER",
+              "NATIVE_API",
+              "SHARED_MODULES",
+              "COMMAND_AND_SCRIPTING_INTERPRETER",
+              "UNIX_SHELL",
+              "RESOURCE_HIJACKING",
+              "PROXY",
+              "EXTERNAL_PROXY",
+              "MULTI_HOP_PROXY",
+              "DYNAMIC_RESOLUTION",
+              "UNSECURED_CREDENTIALS",
+              "VALID_ACCOUNTS",
+              "LOCAL_ACCOUNTS",
+              "CLOUD_ACCOUNTS",
+              "NETWORK_DENIAL_OF_SERVICE",
+              "PERMISSION_GROUPS_DISCOVERY",
+              "CLOUD_GROUPS",
+              "EXFILTRATION_OVER_WEB_SERVICE",
+              "EXFILTRATION_TO_CLOUD_STORAGE",
+              "ACCOUNT_MANIPULATION",
+              "SSH_AUTHORIZED_KEYS",
+              "CREATE_OR_MODIFY_SYSTEM_PROCESS",
+              "STEAL_WEB_SESSION_COOKIE",
+              "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "T1595",
+              "T1595.001",
+              "T1105",
+              "T1106",
+              "T1129",
+              "T1059",
+              "T1059.004",
+              "T1496",
+              "T1090",
+              "T1090.002",
+              "T1090.003",
+              "T1568",
+              "T1552",
+              "T1078",
+              "T1078.003",
+              "T1078.004",
+              "T1498",
+              "T1069",
+              "T1069.003",
+              "T1567",
+              "T1567.002",
+              "T1098",
+              "T1098.004",
+              "T1543",
+              "T1539",
+              "T1578"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "version": {
+          "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "NotificationConfig": {
       "description": "Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.",
       "id": "NotificationConfig",
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
index 017b958..061f1d8 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
@@ -896,9 +896,40 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211207",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
+    "Access": {
+      "description": "Represents an access event.",
+      "id": "Access",
+      "properties": {
+        "callerIp": {
+          "description": "Caller's IP address, such as \"1.1.1.1\".",
+          "type": "string"
+        },
+        "callerIpGeo": {
+          "$ref": "Geolocation",
+          "description": "The caller IP's geolocation, which identifies where the call came from."
+        },
+        "methodName": {
+          "description": "The method that the service account called, e.g. \"SetIamPolicy\".",
+          "type": "string"
+        },
+        "principalEmail": {
+          "description": "Associated email, such as \"foo@google.com\".",
+          "type": "string"
+        },
+        "serviceName": {
+          "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"",
+          "type": "string"
+        },
+        "userAgentFamily": {
+          "description": "What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Asset": {
       "description": "Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource.",
       "id": "Asset",
@@ -1230,6 +1261,10 @@
       "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.",
       "id": "Finding",
       "properties": {
+        "access": {
+          "$ref": "Access",
+          "description": "Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc."
+        },
         "canonicalName": {
           "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.",
           "type": "string"
@@ -1284,6 +1319,10 @@
           "$ref": "Indicator",
           "description": "Represents what's commonly known as an Indicator of compromise (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise"
         },
+        "mitreAttack": {
+          "$ref": "MitreAttack",
+          "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org"
+        },
         "mute": {
           "description": "Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).",
           "enum": [
@@ -1388,6 +1427,17 @@
       },
       "type": "object"
     },
+    "Geolocation": {
+      "description": "Represents a geographical location for a given access.",
+      "id": "Geolocation",
+      "properties": {
+        "regionCode": {
+          "description": "A CLDR.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GetIamPolicyRequest": {
       "description": "Request message for `GetIamPolicy` method.",
       "id": "GetIamPolicyRequest",
@@ -1411,6 +1461,12 @@
       },
       "type": "object"
     },
+    "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": {
+      "description": "The response to a BulkMute request. Contains the LRO information.",
+      "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse",
+      "properties": {},
+      "type": "object"
+    },
     "GoogleCloudSecuritycenterV1ExternalSystem": {
       "description": "Representation of third party SIEM/SOAR fields within SCC.",
       "id": "GoogleCloudSecuritycenterV1ExternalSystem",
@@ -2155,6 +2211,226 @@
       },
       "type": "object"
     },
+    "MitreAttack": {
+      "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org",
+      "id": "MitreAttack",
+      "properties": {
+        "additionalTactics": {
+          "description": "Additional MITRE ATT&CK tactics related to this finding, if any.",
+          "items": {
+            "enum": [
+              "TACTIC_UNSPECIFIED",
+              "RECONNAISSANCE",
+              "RESOURCE_DEVELOPMENT",
+              "INITIAL_ACCESS",
+              "EXECUTION",
+              "PERSISTENCE",
+              "PRIVILEGE_ESCALATION",
+              "DEFENSE_EVASION",
+              "CREDENTIAL_ACCESS",
+              "DISCOVERY",
+              "LATERAL_MOVEMENT",
+              "COLLECTION",
+              "COMMAND_AND_CONTROL",
+              "EXFILTRATION",
+              "IMPACT"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "TA0043",
+              "TA0042",
+              "TA0001",
+              "TA0002",
+              "TA0003",
+              "TA0004",
+              "TA0005",
+              "TA0006",
+              "TA0007",
+              "TA0008",
+              "TA0009",
+              "TA0011",
+              "TA0010",
+              "TA0040"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "additionalTechniques": {
+          "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.",
+          "items": {
+            "enum": [
+              "TECHNIQUE_UNSPECIFIED",
+              "ACTIVE_SCANNING",
+              "SCANNING_IP_BLOCKS",
+              "INGRESS_TOOL_TRANSFER",
+              "NATIVE_API",
+              "SHARED_MODULES",
+              "COMMAND_AND_SCRIPTING_INTERPRETER",
+              "UNIX_SHELL",
+              "RESOURCE_HIJACKING",
+              "PROXY",
+              "EXTERNAL_PROXY",
+              "MULTI_HOP_PROXY",
+              "DYNAMIC_RESOLUTION",
+              "UNSECURED_CREDENTIALS",
+              "VALID_ACCOUNTS",
+              "LOCAL_ACCOUNTS",
+              "CLOUD_ACCOUNTS",
+              "NETWORK_DENIAL_OF_SERVICE",
+              "PERMISSION_GROUPS_DISCOVERY",
+              "CLOUD_GROUPS",
+              "EXFILTRATION_OVER_WEB_SERVICE",
+              "EXFILTRATION_TO_CLOUD_STORAGE",
+              "ACCOUNT_MANIPULATION",
+              "SSH_AUTHORIZED_KEYS",
+              "CREATE_OR_MODIFY_SYSTEM_PROCESS",
+              "STEAL_WEB_SESSION_COOKIE",
+              "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "T1595",
+              "T1595.001",
+              "T1105",
+              "T1106",
+              "T1129",
+              "T1059",
+              "T1059.004",
+              "T1496",
+              "T1090",
+              "T1090.002",
+              "T1090.003",
+              "T1568",
+              "T1552",
+              "T1078",
+              "T1078.003",
+              "T1078.004",
+              "T1498",
+              "T1069",
+              "T1069.003",
+              "T1567",
+              "T1567.002",
+              "T1098",
+              "T1098.004",
+              "T1543",
+              "T1539",
+              "T1578"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "primaryTactic": {
+          "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.",
+          "enum": [
+            "TACTIC_UNSPECIFIED",
+            "RECONNAISSANCE",
+            "RESOURCE_DEVELOPMENT",
+            "INITIAL_ACCESS",
+            "EXECUTION",
+            "PERSISTENCE",
+            "PRIVILEGE_ESCALATION",
+            "DEFENSE_EVASION",
+            "CREDENTIAL_ACCESS",
+            "DISCOVERY",
+            "LATERAL_MOVEMENT",
+            "COLLECTION",
+            "COMMAND_AND_CONTROL",
+            "EXFILTRATION",
+            "IMPACT"
+          ],
+          "enumDescriptions": [
+            "Unspecified value.",
+            "TA0043",
+            "TA0042",
+            "TA0001",
+            "TA0002",
+            "TA0003",
+            "TA0004",
+            "TA0005",
+            "TA0006",
+            "TA0007",
+            "TA0008",
+            "TA0009",
+            "TA0011",
+            "TA0010",
+            "TA0040"
+          ],
+          "type": "string"
+        },
+        "primaryTechniques": {
+          "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).",
+          "items": {
+            "enum": [
+              "TECHNIQUE_UNSPECIFIED",
+              "ACTIVE_SCANNING",
+              "SCANNING_IP_BLOCKS",
+              "INGRESS_TOOL_TRANSFER",
+              "NATIVE_API",
+              "SHARED_MODULES",
+              "COMMAND_AND_SCRIPTING_INTERPRETER",
+              "UNIX_SHELL",
+              "RESOURCE_HIJACKING",
+              "PROXY",
+              "EXTERNAL_PROXY",
+              "MULTI_HOP_PROXY",
+              "DYNAMIC_RESOLUTION",
+              "UNSECURED_CREDENTIALS",
+              "VALID_ACCOUNTS",
+              "LOCAL_ACCOUNTS",
+              "CLOUD_ACCOUNTS",
+              "NETWORK_DENIAL_OF_SERVICE",
+              "PERMISSION_GROUPS_DISCOVERY",
+              "CLOUD_GROUPS",
+              "EXFILTRATION_OVER_WEB_SERVICE",
+              "EXFILTRATION_TO_CLOUD_STORAGE",
+              "ACCOUNT_MANIPULATION",
+              "SSH_AUTHORIZED_KEYS",
+              "CREATE_OR_MODIFY_SYSTEM_PROCESS",
+              "STEAL_WEB_SESSION_COOKIE",
+              "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "T1595",
+              "T1595.001",
+              "T1105",
+              "T1106",
+              "T1129",
+              "T1059",
+              "T1059.004",
+              "T1496",
+              "T1090",
+              "T1090.002",
+              "T1090.003",
+              "T1568",
+              "T1552",
+              "T1078",
+              "T1078.003",
+              "T1078.004",
+              "T1498",
+              "T1069",
+              "T1069.003",
+              "T1567",
+              "T1567.002",
+              "T1098",
+              "T1098.004",
+              "T1543",
+              "T1539",
+              "T1578"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "version": {
+          "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Operation": {
       "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
index d66feb7..474fda1 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
@@ -1328,9 +1328,40 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211207",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
+    "Access": {
+      "description": "Represents an access event.",
+      "id": "Access",
+      "properties": {
+        "callerIp": {
+          "description": "Caller's IP address, such as \"1.1.1.1\".",
+          "type": "string"
+        },
+        "callerIpGeo": {
+          "$ref": "Geolocation",
+          "description": "The caller IP's geolocation, which identifies where the call came from."
+        },
+        "methodName": {
+          "description": "The method that the service account called, e.g. \"SetIamPolicy\".",
+          "type": "string"
+        },
+        "principalEmail": {
+          "description": "Associated email, such as \"foo@google.com\".",
+          "type": "string"
+        },
+        "serviceName": {
+          "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"",
+          "type": "string"
+        },
+        "userAgentFamily": {
+          "description": "What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Config": {
       "description": "Configuration of a module.",
       "id": "Config",
@@ -1644,6 +1675,10 @@
       "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.",
       "id": "Finding",
       "properties": {
+        "access": {
+          "$ref": "Access",
+          "description": "Access details associated to the Finding, such as more information on the caller, which method was accessed, from where, etc."
+        },
         "canonicalName": {
           "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.",
           "type": "string"
@@ -1698,6 +1733,10 @@
           "$ref": "Indicator",
           "description": "Represents what's commonly known as an Indicator of compromise (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise"
         },
+        "mitreAttack": {
+          "$ref": "MitreAttack",
+          "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org"
+        },
         "mute": {
           "description": "Indicates the mute state of a finding (either unspecified, muted, unmuted or undefined).",
           "enum": [
@@ -1802,6 +1841,23 @@
       },
       "type": "object"
     },
+    "Geolocation": {
+      "description": "Represents a geographical location for a given access.",
+      "id": "Geolocation",
+      "properties": {
+        "regionCode": {
+          "description": "A CLDR.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": {
+      "description": "The response to a BulkMute request. Contains the LRO information.",
+      "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse",
+      "properties": {},
+      "type": "object"
+    },
     "GoogleCloudSecuritycenterV1ExternalSystem": {
       "description": "Representation of third party SIEM/SOAR fields within SCC.",
       "id": "GoogleCloudSecuritycenterV1ExternalSystem",
@@ -2216,6 +2272,226 @@
       },
       "type": "object"
     },
+    "MitreAttack": {
+      "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org",
+      "id": "MitreAttack",
+      "properties": {
+        "additionalTactics": {
+          "description": "Additional MITRE ATT&CK tactics related to this finding, if any.",
+          "items": {
+            "enum": [
+              "TACTIC_UNSPECIFIED",
+              "RECONNAISSANCE",
+              "RESOURCE_DEVELOPMENT",
+              "INITIAL_ACCESS",
+              "EXECUTION",
+              "PERSISTENCE",
+              "PRIVILEGE_ESCALATION",
+              "DEFENSE_EVASION",
+              "CREDENTIAL_ACCESS",
+              "DISCOVERY",
+              "LATERAL_MOVEMENT",
+              "COLLECTION",
+              "COMMAND_AND_CONTROL",
+              "EXFILTRATION",
+              "IMPACT"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "TA0043",
+              "TA0042",
+              "TA0001",
+              "TA0002",
+              "TA0003",
+              "TA0004",
+              "TA0005",
+              "TA0006",
+              "TA0007",
+              "TA0008",
+              "TA0009",
+              "TA0011",
+              "TA0010",
+              "TA0040"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "additionalTechniques": {
+          "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.",
+          "items": {
+            "enum": [
+              "TECHNIQUE_UNSPECIFIED",
+              "ACTIVE_SCANNING",
+              "SCANNING_IP_BLOCKS",
+              "INGRESS_TOOL_TRANSFER",
+              "NATIVE_API",
+              "SHARED_MODULES",
+              "COMMAND_AND_SCRIPTING_INTERPRETER",
+              "UNIX_SHELL",
+              "RESOURCE_HIJACKING",
+              "PROXY",
+              "EXTERNAL_PROXY",
+              "MULTI_HOP_PROXY",
+              "DYNAMIC_RESOLUTION",
+              "UNSECURED_CREDENTIALS",
+              "VALID_ACCOUNTS",
+              "LOCAL_ACCOUNTS",
+              "CLOUD_ACCOUNTS",
+              "NETWORK_DENIAL_OF_SERVICE",
+              "PERMISSION_GROUPS_DISCOVERY",
+              "CLOUD_GROUPS",
+              "EXFILTRATION_OVER_WEB_SERVICE",
+              "EXFILTRATION_TO_CLOUD_STORAGE",
+              "ACCOUNT_MANIPULATION",
+              "SSH_AUTHORIZED_KEYS",
+              "CREATE_OR_MODIFY_SYSTEM_PROCESS",
+              "STEAL_WEB_SESSION_COOKIE",
+              "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "T1595",
+              "T1595.001",
+              "T1105",
+              "T1106",
+              "T1129",
+              "T1059",
+              "T1059.004",
+              "T1496",
+              "T1090",
+              "T1090.002",
+              "T1090.003",
+              "T1568",
+              "T1552",
+              "T1078",
+              "T1078.003",
+              "T1078.004",
+              "T1498",
+              "T1069",
+              "T1069.003",
+              "T1567",
+              "T1567.002",
+              "T1098",
+              "T1098.004",
+              "T1543",
+              "T1539",
+              "T1578"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "primaryTactic": {
+          "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.",
+          "enum": [
+            "TACTIC_UNSPECIFIED",
+            "RECONNAISSANCE",
+            "RESOURCE_DEVELOPMENT",
+            "INITIAL_ACCESS",
+            "EXECUTION",
+            "PERSISTENCE",
+            "PRIVILEGE_ESCALATION",
+            "DEFENSE_EVASION",
+            "CREDENTIAL_ACCESS",
+            "DISCOVERY",
+            "LATERAL_MOVEMENT",
+            "COLLECTION",
+            "COMMAND_AND_CONTROL",
+            "EXFILTRATION",
+            "IMPACT"
+          ],
+          "enumDescriptions": [
+            "Unspecified value.",
+            "TA0043",
+            "TA0042",
+            "TA0001",
+            "TA0002",
+            "TA0003",
+            "TA0004",
+            "TA0005",
+            "TA0006",
+            "TA0007",
+            "TA0008",
+            "TA0009",
+            "TA0011",
+            "TA0010",
+            "TA0040"
+          ],
+          "type": "string"
+        },
+        "primaryTechniques": {
+          "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS, ACTIVE_SCANNING).",
+          "items": {
+            "enum": [
+              "TECHNIQUE_UNSPECIFIED",
+              "ACTIVE_SCANNING",
+              "SCANNING_IP_BLOCKS",
+              "INGRESS_TOOL_TRANSFER",
+              "NATIVE_API",
+              "SHARED_MODULES",
+              "COMMAND_AND_SCRIPTING_INTERPRETER",
+              "UNIX_SHELL",
+              "RESOURCE_HIJACKING",
+              "PROXY",
+              "EXTERNAL_PROXY",
+              "MULTI_HOP_PROXY",
+              "DYNAMIC_RESOLUTION",
+              "UNSECURED_CREDENTIALS",
+              "VALID_ACCOUNTS",
+              "LOCAL_ACCOUNTS",
+              "CLOUD_ACCOUNTS",
+              "NETWORK_DENIAL_OF_SERVICE",
+              "PERMISSION_GROUPS_DISCOVERY",
+              "CLOUD_GROUPS",
+              "EXFILTRATION_OVER_WEB_SERVICE",
+              "EXFILTRATION_TO_CLOUD_STORAGE",
+              "ACCOUNT_MANIPULATION",
+              "SSH_AUTHORIZED_KEYS",
+              "CREATE_OR_MODIFY_SYSTEM_PROCESS",
+              "STEAL_WEB_SESSION_COOKIE",
+              "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE"
+            ],
+            "enumDescriptions": [
+              "Unspecified value.",
+              "T1595",
+              "T1595.001",
+              "T1105",
+              "T1106",
+              "T1129",
+              "T1059",
+              "T1059.004",
+              "T1496",
+              "T1090",
+              "T1090.002",
+              "T1090.003",
+              "T1568",
+              "T1552",
+              "T1078",
+              "T1078.003",
+              "T1078.004",
+              "T1498",
+              "T1069",
+              "T1069.003",
+              "T1567",
+              "T1567.002",
+              "T1098",
+              "T1098.004",
+              "T1543",
+              "T1539",
+              "T1578"
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "version": {
+          "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Reference": {
       "description": "Additional Links",
       "id": "Reference",
diff --git a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
index b480983..220d8b1 100644
--- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
@@ -542,7 +542,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211207",
   "rootUrl": "https://serviceconsumermanagement.googleapis.com/",
   "schemas": {
     "AddTenantProjectRequest": {
diff --git a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
index eac96f0..068383f 100644
--- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
@@ -500,7 +500,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211207",
   "rootUrl": "https://serviceconsumermanagement.googleapis.com/",
   "schemas": {
     "Api": {
diff --git a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json
index baf82fb..d048400 100644
--- a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json
@@ -883,7 +883,7 @@
       }
     }
   },
-  "revision": "20211110",
+  "revision": "20211202",
   "rootUrl": "https://servicedirectory.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json
index ac2e661..85cce1d 100644
--- a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json
@@ -883,7 +883,7 @@
       }
     }
   },
-  "revision": "20211110",
+  "revision": "20211202",
   "rootUrl": "https://servicedirectory.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
index a5c1a44..bf3258f 100644
--- a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
@@ -829,7 +829,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211203",
   "rootUrl": "https://servicemanagement.googleapis.com/",
   "schemas": {
     "Advice": {
diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
index 1cd1e51..78fdab4 100644
--- a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
@@ -860,7 +860,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://servicenetworking.googleapis.com/",
   "schemas": {
     "AddDnsRecordSetMetadata": {
@@ -1442,11 +1442,11 @@
       "type": "object"
     },
     "Control": {
-      "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.",
+      "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com",
       "id": "Control",
       "properties": {
         "environment": {
-          "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.",
+          "description": "The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com",
           "type": "string"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
index d8243dc..c7f049d 100644
--- a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
@@ -307,7 +307,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211210",
   "rootUrl": "https://servicenetworking.googleapis.com/",
   "schemas": {
     "AddDnsRecordSetMetadata": {
@@ -789,11 +789,11 @@
       "type": "object"
     },
     "Control": {
-      "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.",
+      "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com",
       "id": "Control",
       "properties": {
         "environment": {
-          "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.",
+          "description": "The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com",
           "type": "string"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/serviceusage.v1.json b/googleapiclient/discovery_cache/documents/serviceusage.v1.json
index 898f8ff..db409b9 100644
--- a/googleapiclient/discovery_cache/documents/serviceusage.v1.json
+++ b/googleapiclient/discovery_cache/documents/serviceusage.v1.json
@@ -426,7 +426,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211207",
   "rootUrl": "https://serviceusage.googleapis.com/",
   "schemas": {
     "AdminQuotaPolicy": {
diff --git a/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json b/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
index f8e7d5d..1834b35 100644
--- a/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
@@ -959,7 +959,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211207",
   "rootUrl": "https://serviceusage.googleapis.com/",
   "schemas": {
     "AdminQuotaPolicy": {
diff --git a/googleapiclient/discovery_cache/documents/sheets.v4.json b/googleapiclient/discovery_cache/documents/sheets.v4.json
index 99daf38..9484b06 100644
--- a/googleapiclient/discovery_cache/documents/sheets.v4.json
+++ b/googleapiclient/discovery_cache/documents/sheets.v4.json
@@ -870,7 +870,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211209",
   "rootUrl": "https://sheets.googleapis.com/",
   "schemas": {
     "AddBandingRequest": {
diff --git a/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json b/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
index ea0250d..6c8f94b 100644
--- a/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
@@ -355,7 +355,7 @@
       }
     }
   },
-  "revision": "20211119",
+  "revision": "20211206",
   "rootUrl": "https://smartdevicemanagement.googleapis.com/",
   "schemas": {
     "GoogleHomeEnterpriseSdmV1Device": {
diff --git a/googleapiclient/discovery_cache/documents/sourcerepo.v1.json b/googleapiclient/discovery_cache/documents/sourcerepo.v1.json
index 8633a4b..1a7f729 100644
--- a/googleapiclient/discovery_cache/documents/sourcerepo.v1.json
+++ b/googleapiclient/discovery_cache/documents/sourcerepo.v1.json
@@ -266,7 +266,7 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20211012",
+  "revision": "20211206",
   "rootUrl": "https://sourcerepo.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/speech.v1.json b/googleapiclient/discovery_cache/documents/speech.v1.json
index f7f183c..0573b72 100644
--- a/googleapiclient/discovery_cache/documents/speech.v1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v1.json
@@ -187,7 +187,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent resource where this custom class will be created. Format: {api_version}/projects/{project}/locations/{location}/customClasses",
+                      "description": "Required. The parent resource where this custom class will be created. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -215,7 +215,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the custom class to delete. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class}",
+                      "description": "Required. The name of the custom class to delete. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/customClasses/[^/]+$",
                       "required": true,
@@ -240,7 +240,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the custom class to retrieve. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class}",
+                      "description": "Required. The name of the custom class to retrieve. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/customClasses/[^/]+$",
                       "required": true,
@@ -276,7 +276,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent, which owns this collection of custom classes. Format: {api_version}/projects/{project}/locations/{location}/customClasses",
+                      "description": "Required. The parent, which owns this collection of custom classes. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -339,7 +339,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent resource where this phrase set will be created. Format: {api_version}/projects/{project}/locations/{location}/phraseSets",
+                      "description": "Required. The parent resource where this phrase set will be created. Format: `projects/{project}/locations/{location}/phraseSets` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -367,7 +367,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the phrase set to delete. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set}",
+                      "description": "Required. The name of the phrase set to delete. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/phraseSets/[^/]+$",
                       "required": true,
@@ -392,7 +392,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the phrase set to retrieve. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set}",
+                      "description": "Required. The name of the phrase set to retrieve. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/phraseSets/[^/]+$",
                       "required": true,
@@ -428,7 +428,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent, which owns this collection of phrase set. Format: projects/{project}/locations/{location}",
+                      "description": "Required. The parent, which owns this collection of phrase set. Format: `projects/{project}/locations/{location}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -524,7 +524,7 @@
       }
     }
   },
-  "revision": "20211104",
+  "revision": "20211130",
   "rootUrl": "https://speech.googleapis.com/",
   "schemas": {
     "ClassItem": {
@@ -759,7 +759,7 @@
       "type": "object"
     },
     "Phrase": {
-      "description": "A phrases containing words and phrase \"hints\" so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. \"i was born in january\", \"i was born in febuary\", ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. \"i was born in $month\"). To refer to pre-built classes, use the class' symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class's `custom_class_id` to a string unique to all class resources and inline classes. Then use the class' id wrapped in $`{...}` e.g. \"${my-months}\". To refer to custom classes resources, use the class' id wrapped in `${}` (e.g. `${my-months}`).",
+      "description": "A phrases containing words and phrase \"hints\" so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. \"i was born in january\", \"i was born in febuary\", ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. \"i was born in $month\"). To refer to pre-built classes, use the class' symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class's `custom_class_id` to a string unique to all class resources and inline classes. Then use the class' id wrapped in $`{...}` e.g. \"${my-months}\". To refer to custom classes resources, use the class' id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
       "id": "Phrase",
       "properties": {
         "boost": {
diff --git a/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json b/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json
index dccdc8d..ddd0e8d 100644
--- a/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json
@@ -187,7 +187,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent resource where this custom class will be created. Format: {api_version}/projects/{project}/locations/{location}/customClasses",
+                      "description": "Required. The parent resource where this custom class will be created. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -215,7 +215,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the custom class to delete. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class}",
+                      "description": "Required. The name of the custom class to delete. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/customClasses/[^/]+$",
                       "required": true,
@@ -240,7 +240,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the custom class to retrieve. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class}",
+                      "description": "Required. The name of the custom class to retrieve. Format: `projects/{project}/locations/{location}/customClasses/{custom_class}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/customClasses/[^/]+$",
                       "required": true,
@@ -276,7 +276,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent, which owns this collection of custom classes. Format: {api_version}/projects/{project}/locations/{location}/customClasses",
+                      "description": "Required. The parent, which owns this collection of custom classes. Format: `projects/{project}/locations/{location}/customClasses` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -339,7 +339,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent resource where this phrase set will be created. Format: {api_version}/projects/{project}/locations/{location}/phraseSets",
+                      "description": "Required. The parent resource where this phrase set will be created. Format: `projects/{project}/locations/{location}/phraseSets` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -367,7 +367,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the phrase set to delete. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set}",
+                      "description": "Required. The name of the phrase set to delete. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/phraseSets/[^/]+$",
                       "required": true,
@@ -392,7 +392,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the phrase set to retrieve. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set}",
+                      "description": "Required. The name of the phrase set to retrieve. Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/phraseSets/[^/]+$",
                       "required": true,
@@ -428,7 +428,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent, which owns this collection of phrase set. Format: projects/{project}/locations/{location}",
+                      "description": "Required. The parent, which owns this collection of phrase set. Format: `projects/{project}/locations/{location}` Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -524,7 +524,7 @@
       }
     }
   },
-  "revision": "20211104",
+  "revision": "20211130",
   "rootUrl": "https://speech.googleapis.com/",
   "schemas": {
     "ClassItem": {
@@ -783,7 +783,7 @@
       "type": "object"
     },
     "Phrase": {
-      "description": "A phrases containing words and phrase \"hints\" so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. \"i was born in january\", \"i was born in febuary\", ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. \"i was born in $month\"). To refer to pre-built classes, use the class' symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class's `custom_class_id` to a string unique to all class resources and inline classes. Then use the class' id wrapped in $`{...}` e.g. \"${my-months}\". To refer to custom classes resources, use the class' id wrapped in `${}` (e.g. `${my-months}`).",
+      "description": "A phrases containing words and phrase \"hints\" so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech-to-text/quotas#content). List items can also include pre-built or custom classes containing groups of words that represent common concepts that occur in natural language. For example, rather than providing a phrase hint for every month of the year (e.g. \"i was born in january\", \"i was born in febuary\", ...), use the pre-built `$MONTH` class improves the likelihood of correctly transcribing audio that includes months (e.g. \"i was born in $month\"). To refer to pre-built classes, use the class' symbol prepended with `$` e.g. `$MONTH`. To refer to custom classes that were defined inline in the request, set the class's `custom_class_id` to a string unique to all class resources and inline classes. Then use the class' id wrapped in $`{...}` e.g. \"${my-months}\". To refer to custom classes resources, use the class' id wrapped in `${}` (e.g. `${my-months}`). Speech-to-Text supports three locations: `global`, `us` (US North America), and `eu` (Europe). If you are calling the `speech.googleapis.com` endpoint, use the `global` location. To specify a region, use a [regional endpoint](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.",
       "id": "Phrase",
       "properties": {
         "boost": {
diff --git a/googleapiclient/discovery_cache/documents/speech.v2beta1.json b/googleapiclient/discovery_cache/documents/speech.v2beta1.json
index eb3618a..c22c57a 100644
--- a/googleapiclient/discovery_cache/documents/speech.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v2beta1.json
@@ -184,7 +184,7 @@
       }
     }
   },
-  "revision": "20211104",
+  "revision": "20211130",
   "rootUrl": "https://speech.googleapis.com/",
   "schemas": {
     "ListOperationsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/sqladmin.v1.json b/googleapiclient/discovery_cache/documents/sqladmin.v1.json
index 5d8dbf3..075e0d0 100644
--- a/googleapiclient/discovery_cache/documents/sqladmin.v1.json
+++ b/googleapiclient/discovery_cache/documents/sqladmin.v1.json
@@ -1877,7 +1877,7 @@
       }
     }
   },
-  "revision": "20211116",
+  "revision": "20211206",
   "rootUrl": "https://sqladmin.googleapis.com/",
   "schemas": {
     "AclEntry": {
@@ -2393,7 +2393,7 @@
           "type": "string"
         },
         "databaseInstalledVersion": {
-          "description": "Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50",
+          "description": "Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.",
           "readOnly": true,
           "type": "string"
         },
@@ -2476,7 +2476,7 @@
           "type": "object"
         },
         "gceZone": {
-          "description": "The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.",
+          "description": "The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.",
           "type": "string"
         },
         "instanceType": {
@@ -3353,7 +3353,7 @@
           "type": "string"
         },
         "authorizedNetworks": {
-          "description": "The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: **192.168.100.0/24**).",
+          "description": "The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: **157.197.200.0/24**).",
           "items": {
             "$ref": "AclEntry"
           },
@@ -3413,7 +3413,7 @@
       "id": "LocationPreference",
       "properties": {
         "followGaeApplication": {
-          "description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance.",
+          "description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.",
           "type": "string"
         },
         "kind": {
@@ -3425,7 +3425,7 @@
           "type": "string"
         },
         "zone": {
-          "description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).",
+          "description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.",
           "type": "string"
         }
       },
@@ -4019,7 +4019,7 @@
           "type": "array"
         },
         "databaseReplicationEnabled": {
-          "description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not.",
+          "description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.",
           "type": "boolean"
         },
         "denyMaintenancePeriods": {
@@ -4100,7 +4100,7 @@
           "type": "string"
         },
         "tier": {
-          "description": "The tier (or machine type) for this instance, for example **db-custom-1-3840**.",
+          "description": "The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.",
           "type": "string"
         },
         "userLabels": {
diff --git a/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json b/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json
index 94f3c41..0a10aed 100644
--- a/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json
+++ b/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json
@@ -1877,7 +1877,7 @@
       }
     }
   },
-  "revision": "20211116",
+  "revision": "20211206",
   "rootUrl": "https://sqladmin.googleapis.com/",
   "schemas": {
     "AclEntry": {
@@ -2393,7 +2393,7 @@
           "type": "string"
         },
         "databaseInstalledVersion": {
-          "description": "Output only. The databaseInstalledVersion stores the current fully resolved database version running on the instance including minor version such as MYSQL_5_6_50",
+          "description": "Output only. Stores the current database version running on the instance including minor version such as **MYSQL_8_0_18**.",
           "readOnly": true,
           "type": "string"
         },
@@ -2476,7 +2476,7 @@
           "type": "object"
         },
         "gceZone": {
-          "description": "The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone.",
+          "description": "The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary zone. WARNING: Changing this might restart the instance.",
           "type": "string"
         },
         "instanceType": {
@@ -3353,7 +3353,7 @@
           "type": "string"
         },
         "authorizedNetworks": {
-          "description": "The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: **192.168.100.0/24**).",
+          "description": "The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: **157.197.200.0/24**).",
           "items": {
             "$ref": "AclEntry"
           },
@@ -3413,7 +3413,7 @@
       "id": "LocationPreference",
       "properties": {
         "followGaeApplication": {
-          "description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance.",
+          "description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.",
           "type": "string"
         },
         "kind": {
@@ -3425,7 +3425,7 @@
           "type": "string"
         },
         "zone": {
-          "description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).",
+          "description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.",
           "type": "string"
         }
       },
@@ -4019,7 +4019,7 @@
           "type": "array"
         },
         "databaseReplicationEnabled": {
-          "description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not.",
+          "description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.",
           "type": "boolean"
         },
         "denyMaintenancePeriods": {
@@ -4100,7 +4100,7 @@
           "type": "string"
         },
         "tier": {
-          "description": "The tier (or machine type) for this instance, for example **db-custom-1-3840**.",
+          "description": "The tier (or machine type) for this instance, for example **db-custom-1-3840**. WARNING: Changing this restarts the instance.",
           "type": "string"
         },
         "userLabels": {
diff --git a/googleapiclient/discovery_cache/documents/storage.v1.json b/googleapiclient/discovery_cache/documents/storage.v1.json
index 7671f2e..278a08c 100644
--- a/googleapiclient/discovery_cache/documents/storage.v1.json
+++ b/googleapiclient/discovery_cache/documents/storage.v1.json
@@ -26,7 +26,7 @@
   "description": "Stores and retrieves potentially large, immutable data objects.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/storage/docs/json_api/",
-  "etag": "\"3137363332383633313735343831303635323033\"",
+  "etag": "\"3138343334363134373734353330323437343338\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png",
     "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png"
@@ -3230,7 +3230,7 @@
       }
     }
   },
-  "revision": "20211201",
+  "revision": "20211209",
   "rootUrl": "https://storage.googleapis.com/",
   "schemas": {
     "Bucket": {
diff --git a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
index 81c55df..de6d572 100644
--- a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
+++ b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
@@ -600,7 +600,7 @@
       }
     }
   },
-  "revision": "20211202",
+  "revision": "20211211",
   "rootUrl": "https://storagetransfer.googleapis.com/",
   "schemas": {
     "AgentPool": {
@@ -705,7 +705,7 @@
       "id": "AzureCredentials",
       "properties": {
         "sasToken": {
-          "description": "Required. Azure shared access signature (SAS). *Note:*Copying data from Azure Data Lake Storage (ADLS) Gen 2 is in [Preview](/products/#product-launch-stages). During Preview, if you are copying data from ADLS Gen 2, you must use an account SAS. For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).",
+          "description": "Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).",
           "type": "string"
         }
       },
@@ -932,15 +932,15 @@
       "type": "object"
     },
     "LoggingConfig": {
-      "description": "Logging configuration.",
+      "description": "Specifies the logging behavior for transfer operations. For cloud-to-cloud transfers, logs are sent to Cloud Logging. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details. For transfers to or from a POSIX file system, logs are stored in the Cloud Storage bucket that is the source or sink of the transfer. See [Managing Transfer for on-premises jobs] (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) for details.",
       "id": "LoggingConfig",
       "properties": {
         "enableOnpremGcsTransferLogs": {
-          "description": "Enables the Cloud Storage transfer logs for this transfer. This is only supported for transfer jobs with PosixFilesystem sources. The default is that logs are not generated for this transfer.",
+          "description": "For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer.",
           "type": "boolean"
         },
         "logActionStates": {
-          "description": "States in which `log_actions` are logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.",
+          "description": "States in which `log_actions` are logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.",
           "items": {
             "enum": [
               "LOGGABLE_ACTION_STATE_UNSPECIFIED",
@@ -949,15 +949,15 @@
             ],
             "enumDescriptions": [
               "Default value. This value is unused.",
-              "`LoggableAction` is completed successfully. `SUCCEEDED` actions are logged as INFO.",
-              "`LoggableAction` is terminated in an error state. `FAILED` actions are logged as ERROR."
+              "`LoggableAction` completed successfully. `SUCCEEDED` actions are logged as INFO.",
+              "`LoggableAction` terminated in an error state. `FAILED` actions are logged as ERROR."
             ],
             "type": "string"
           },
           "type": "array"
         },
         "logActions": {
-          "description": "Actions to be logged. If empty, no logs are generated. This is not yet supported for transfers with PosixFilesystem data sources.",
+          "description": "Specifies the actions to be logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.",
           "items": {
             "enum": [
               "LOGGABLE_ACTION_UNSPECIFIED",
@@ -967,9 +967,9 @@
             ],
             "enumDescriptions": [
               "Default value. This value is unused.",
-              "Finding objects to transfer e.g. listing objects of the source bucket.",
-              "Deleting objects at source or destination.",
-              "Copying objects from source to destination."
+              "Listing objects in a bucket.",
+              "Deleting objects at the source or the destination.",
+              "Copying objects to Google Cloud Storage."
             ],
             "type": "string"
           },
@@ -978,6 +978,69 @@
       },
       "type": "object"
     },
+    "MetadataOptions": {
+      "description": "Specifies the metadata options for running a transfer.",
+      "id": "MetadataOptions",
+      "properties": {
+        "gid": {
+          "description": "Specifies how each file's GID attribute should be handled by the transfer. If unspecified, the default behavior is the same as GID_SKIP when the source is a POSIX file system.",
+          "enum": [
+            "GID_UNSPECIFIED",
+            "GID_SKIP",
+            "GID_NUMBER"
+          ],
+          "enumDescriptions": [
+            "GID behavior is unspecified.",
+            "Skip GID during a transfer job.",
+            "Preserve GID during a transfer job."
+          ],
+          "type": "string"
+        },
+        "mode": {
+          "description": "Specifies how each file's mode attribute should be handled by the transfer. If unspecified, the default behavior is the same as MODE_SKIP when the source is a POSIX file system.",
+          "enum": [
+            "MODE_UNSPECIFIED",
+            "MODE_SKIP",
+            "MODE_PRESERVE"
+          ],
+          "enumDescriptions": [
+            "Mode behavior is unspecified.",
+            "Skip mode during a transfer job.",
+            "Preserve mode during a transfer job."
+          ],
+          "type": "string"
+        },
+        "symlink": {
+          "description": "Specifies how symlinks should be handled by the transfer. If unspecified, the default behavior is the same as SYMLINK_SKIP when the source is a POSIX file system.",
+          "enum": [
+            "SYMLINK_UNSPECIFIED",
+            "SYMLINK_SKIP",
+            "SYMLINK_PRESERVE"
+          ],
+          "enumDescriptions": [
+            "Symlink behavior is unspecified. The default behavior is to skip symlinks during a transfer job.",
+            "Skip symlinks during a transfer job.",
+            "Preserve symlinks during a transfer job."
+          ],
+          "type": "string"
+        },
+        "uid": {
+          "description": "Specifies how each file's UID attribute should be handled by the transfer. If unspecified, the default behavior is the same as UID_SKIP when the source is a POSIX file system.",
+          "enum": [
+            "UID_UNSPECIFIED",
+            "UID_SKIP",
+            "UID_NUMBER"
+          ],
+          "enumDescriptions": [
+            "UID behavior is unspecified.",
+            "Skip UID during a transfer job.",
+            "Preserve UID during a transfer job."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "NotificationConfig": {
       "description": "Specification to configure notifications published to Pub/Sub. Notifications are published to the customer-provided topic using the following `PubsubMessage.attributes`: * `\"eventType\"`: one of the EventType values * `\"payloadFormat\"`: one of the PayloadFormat values * `\"projectId\"`: the project_id of the `TransferOperation` * `\"transferJobName\"`: the transfer_job_name of the `TransferOperation` * `\"transferOperationName\"`: the name of the `TransferOperation` The `PubsubMessage.data` contains a TransferOperation resource formatted according to the specified `PayloadFormat`.",
       "id": "NotificationConfig",
@@ -1492,6 +1555,10 @@
           "description": "Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.",
           "type": "boolean"
         },
+        "metadataOptions": {
+          "$ref": "MetadataOptions",
+          "description": "Represents the selected metadata options for a transfer job."
+        },
         "overwriteObjectsAlreadyExistingInSink": {
           "description": "When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.",
           "type": "boolean"
@@ -1519,6 +1586,10 @@
           "$ref": "GcsData",
           "description": "A Cloud Storage data source."
         },
+        "gcsIntermediateDataLocation": {
+          "$ref": "GcsData",
+          "description": "Cloud Storage intermediate data location."
+        },
         "httpDataSource": {
           "$ref": "HttpData",
           "description": "An HTTP URL data source."
@@ -1564,10 +1635,10 @@
         },
         "transferJob": {
           "$ref": "TransferJob",
-          "description": "Required. The job to update. `transferJob` is expected to specify only four fields: description, transfer_spec, notification_config, and status. An `UpdateTransferJobRequest` that specifies other fields are rejected with the error INVALID_ARGUMENT. Updating a job status to DELETED requires `storagetransfer.jobs.delete` permissions."
+          "description": "Required. The job to update. `transferJob` is expected to specify one or more of five fields: description, transfer_spec, notification_config, [logging_config[TransferJob.logging_config], and status. An `UpdateTransferJobRequest` that specifies other fields are rejected with the error INVALID_ARGUMENT. Updating a job status to DELETED requires `storagetransfer.jobs.delete` permissions."
         },
         "updateTransferJobFieldMask": {
-          "description": "The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields is rejected with the error INVALID_ARGUMENT.",
+          "description": "The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, logging_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields is rejected with the error INVALID_ARGUMENT.",
           "format": "google-fieldmask",
           "type": "string"
         }
diff --git a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
index 40423c6..16373fc 100644
--- a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
+++ b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
@@ -375,7 +375,7 @@
       }
     }
   },
-  "revision": "20211204",
+  "revision": "20211211",
   "rootUrl": "https://streetviewpublish.googleapis.com/",
   "schemas": {
     "BatchDeletePhotosRequest": {
diff --git a/googleapiclient/discovery_cache/documents/sts.v1.json b/googleapiclient/discovery_cache/documents/sts.v1.json
index b043a91..74faa0c 100644
--- a/googleapiclient/discovery_cache/documents/sts.v1.json
+++ b/googleapiclient/discovery_cache/documents/sts.v1.json
@@ -131,7 +131,7 @@
       }
     }
   },
-  "revision": "20211105",
+  "revision": "20211203",
   "rootUrl": "https://sts.googleapis.com/",
   "schemas": {
     "GoogleIamV1Binding": {
diff --git a/googleapiclient/discovery_cache/documents/sts.v1beta.json b/googleapiclient/discovery_cache/documents/sts.v1beta.json
index 35bcda6..5b612b2 100644
--- a/googleapiclient/discovery_cache/documents/sts.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/sts.v1beta.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20211105",
+  "revision": "20211203",
   "rootUrl": "https://sts.googleapis.com/",
   "schemas": {
     "GoogleIamV1Binding": {
diff --git a/googleapiclient/discovery_cache/documents/tasks.v1.json b/googleapiclient/discovery_cache/documents/tasks.v1.json
index dac084e..681f089 100644
--- a/googleapiclient/discovery_cache/documents/tasks.v1.json
+++ b/googleapiclient/discovery_cache/documents/tasks.v1.json
@@ -566,7 +566,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211211",
   "rootUrl": "https://tasks.googleapis.com/",
   "schemas": {
     "Task": {
diff --git a/googleapiclient/discovery_cache/documents/testing.v1.json b/googleapiclient/discovery_cache/documents/testing.v1.json
index 8b61dda..b66eb33 100644
--- a/googleapiclient/discovery_cache/documents/testing.v1.json
+++ b/googleapiclient/discovery_cache/documents/testing.v1.json
@@ -282,7 +282,7 @@
       }
     }
   },
-  "revision": "20211123",
+  "revision": "20211202",
   "rootUrl": "https://testing.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1.json
index cf152f1..8fa027a 100644
--- a/googleapiclient/discovery_cache/documents/texttospeech.v1.json
+++ b/googleapiclient/discovery_cache/documents/texttospeech.v1.json
@@ -197,7 +197,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211203",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
index b9d2463..921f620 100644
--- a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211203",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
diff --git a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
index 6dbe8ce..3b63188 100644
--- a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
@@ -1463,7 +1463,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211208",
   "rootUrl": "https://toolresults.googleapis.com/",
   "schemas": {
     "ANR": {
diff --git a/googleapiclient/discovery_cache/documents/trafficdirector.v2.json b/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
index 1d010f0..5998ecc 100644
--- a/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
+++ b/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20211112",
+  "revision": "20211130",
   "rootUrl": "https://trafficdirector.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/transcoder.v1.json b/googleapiclient/discovery_cache/documents/transcoder.v1.json
new file mode 100644
index 0000000..f0650db
--- /dev/null
+++ b/googleapiclient/discovery_cache/documents/transcoder.v1.json
@@ -0,0 +1,1555 @@
+{
+  "auth": {
+    "oauth2": {
+      "scopes": {
+        "https://www.googleapis.com/auth/cloud-platform": {
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
+        }
+      }
+    }
+  },
+  "basePath": "",
+  "baseUrl": "https://transcoder.googleapis.com/",
+  "batchPath": "batch",
+  "canonicalName": "Transcoder",
+  "description": "This API converts video files into formats suitable for consumer distribution. ",
+  "discoveryVersion": "v1",
+  "documentationLink": "https://cloud.google.com/transcoder/docs/",
+  "fullyEncodeReservedExpansion": true,
+  "icons": {
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
+  },
+  "id": "transcoder:v1",
+  "kind": "discovery#restDescription",
+  "mtlsRootUrl": "https://transcoder.mtls.googleapis.com/",
+  "name": "transcoder",
+  "ownerDomain": "google.com",
+  "ownerName": "Google",
+  "parameters": {
+    "$.xgafv": {
+      "description": "V1 error format.",
+      "enum": [
+        "1",
+        "2"
+      ],
+      "enumDescriptions": [
+        "v1 error format",
+        "v2 error format"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "access_token": {
+      "description": "OAuth access token.",
+      "location": "query",
+      "type": "string"
+    },
+    "alt": {
+      "default": "json",
+      "description": "Data format for response.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "callback": {
+      "description": "JSONP",
+      "location": "query",
+      "type": "string"
+    },
+    "fields": {
+      "description": "Selector specifying which fields to include in a partial response.",
+      "location": "query",
+      "type": "string"
+    },
+    "key": {
+      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
+      "location": "query",
+      "type": "string"
+    },
+    "oauth_token": {
+      "description": "OAuth 2.0 token for the current user.",
+      "location": "query",
+      "type": "string"
+    },
+    "prettyPrint": {
+      "default": "true",
+      "description": "Returns response with indentations and line breaks.",
+      "location": "query",
+      "type": "boolean"
+    },
+    "quotaUser": {
+      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
+      "location": "query",
+      "type": "string"
+    },
+    "uploadType": {
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    },
+    "upload_protocol": {
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    }
+  },
+  "protocol": "rest",
+  "resources": {
+    "projects": {
+      "resources": {
+        "locations": {
+          "resources": {
+            "jobTemplates": {
+              "methods": {
+                "create": {
+                  "description": "Creates a job template in the specified region.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobTemplates",
+                  "httpMethod": "POST",
+                  "id": "transcoder.projects.locations.jobTemplates.create",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "jobTemplateId": {
+                      "description": "Required. The ID to use for the job template, which will become the final component of the job template's resource name. This value should be 4-63 characters, and valid characters must match the regular expression `a-zA-Z*`.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. The parent location to create this job template. Format: `projects/{project}/locations/{location}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+parent}/jobTemplates",
+                  "request": {
+                    "$ref": "JobTemplate"
+                  },
+                  "response": {
+                    "$ref": "JobTemplate"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "delete": {
+                  "description": "Deletes a job template.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobTemplates/{jobTemplatesId}",
+                  "httpMethod": "DELETE",
+                  "id": "transcoder.projects.locations.jobTemplates.delete",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "allowMissing": {
+                      "description": "If set to true, and the job template is not found, the request will succeed but no action will be taken on the server.",
+                      "location": "query",
+                      "type": "boolean"
+                    },
+                    "name": {
+                      "description": "Required. The name of the job template to delete. `projects/{project}/locations/{location}/jobTemplates/{job_template}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/jobTemplates/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}",
+                  "response": {
+                    "$ref": "Empty"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "get": {
+                  "description": "Returns the job template data.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobTemplates/{jobTemplatesId}",
+                  "httpMethod": "GET",
+                  "id": "transcoder.projects.locations.jobTemplates.get",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the job template to retrieve. Format: `projects/{project}/locations/{location}/jobTemplates/{job_template}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/jobTemplates/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}",
+                  "response": {
+                    "$ref": "JobTemplate"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "list": {
+                  "description": "Lists job templates in the specified region.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobTemplates",
+                  "httpMethod": "GET",
+                  "id": "transcoder.projects.locations.jobTemplates.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "filter": {
+                      "description": "The filter expression, following the syntax outlined in https://google.aip.dev/160.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "orderBy": {
+                      "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "pageSize": {
+                      "description": "The maximum number of items to return.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "The `next_page_token` value returned from a previous List request, if any.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. The parent location from which to retrieve the collection of job templates. Format: `projects/{project}/locations/{location}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+parent}/jobTemplates",
+                  "response": {
+                    "$ref": "ListJobTemplatesResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                }
+              }
+            },
+            "jobs": {
+              "methods": {
+                "create": {
+                  "description": "Creates a job in the specified region.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs",
+                  "httpMethod": "POST",
+                  "id": "transcoder.projects.locations.jobs.create",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "parent": {
+                      "description": "Required. The parent location to create and process this job. Format: `projects/{project}/locations/{location}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+parent}/jobs",
+                  "request": {
+                    "$ref": "Job"
+                  },
+                  "response": {
+                    "$ref": "Job"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "delete": {
+                  "description": "Deletes a job.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}",
+                  "httpMethod": "DELETE",
+                  "id": "transcoder.projects.locations.jobs.delete",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "allowMissing": {
+                      "description": "If set to true, and the job is not found, the request will succeed but no action will be taken on the server.",
+                      "location": "query",
+                      "type": "boolean"
+                    },
+                    "name": {
+                      "description": "Required. The name of the job to delete. Format: `projects/{project}/locations/{location}/jobs/{job}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}",
+                  "response": {
+                    "$ref": "Empty"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "get": {
+                  "description": "Returns the job data.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}",
+                  "httpMethod": "GET",
+                  "id": "transcoder.projects.locations.jobs.get",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the job to retrieve. Format: `projects/{project}/locations/{location}/jobs/{job}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}",
+                  "response": {
+                    "$ref": "Job"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "list": {
+                  "description": "Lists jobs in the specified region.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs",
+                  "httpMethod": "GET",
+                  "id": "transcoder.projects.locations.jobs.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "filter": {
+                      "description": "The filter expression, following the syntax outlined in https://google.aip.dev/160.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "orderBy": {
+                      "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "pageSize": {
+                      "description": "The maximum number of items to return.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "The `next_page_token` value returned from a previous List request, if any.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. Format: `projects/{project}/locations/{location}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+parent}/jobs",
+                  "response": {
+                    "$ref": "ListJobsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "revision": "20211108",
+  "rootUrl": "https://transcoder.googleapis.com/",
+  "schemas": {
+    "AdBreak": {
+      "description": "Ad break.",
+      "id": "AdBreak",
+      "properties": {
+        "startTimeOffset": {
+          "description": "Start time in seconds for the ad break, relative to the output file timeline. The default is `0s`.",
+          "format": "google-duration",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Animation": {
+      "description": "Animation types.",
+      "id": "Animation",
+      "properties": {
+        "animationEnd": {
+          "$ref": "AnimationEnd",
+          "description": "End previous animation."
+        },
+        "animationFade": {
+          "$ref": "AnimationFade",
+          "description": "Display overlay object with fade animation."
+        },
+        "animationStatic": {
+          "$ref": "AnimationStatic",
+          "description": "Display static overlay object."
+        }
+      },
+      "type": "object"
+    },
+    "AnimationEnd": {
+      "description": "End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video.",
+      "id": "AnimationEnd",
+      "properties": {
+        "startTimeOffset": {
+          "description": "The time to end overlay object, in seconds. Default: 0",
+          "format": "google-duration",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "AnimationFade": {
+      "description": "Display overlay object with fade animation.",
+      "id": "AnimationFade",
+      "properties": {
+        "endTimeOffset": {
+          "description": "The time to end the fade animation, in seconds. Default: `start_time_offset` + 1s",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "fadeType": {
+          "description": "Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.",
+          "enum": [
+            "FADE_TYPE_UNSPECIFIED",
+            "FADE_IN",
+            "FADE_OUT"
+          ],
+          "enumDescriptions": [
+            "The fade type is not specified.",
+            "Fade the overlay object into view.",
+            "Fade the overlay object out of view."
+          ],
+          "type": "string"
+        },
+        "startTimeOffset": {
+          "description": "The time to start the fade animation, in seconds. Default: 0",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "xy": {
+          "$ref": "NormalizedCoordinate",
+          "description": "Normalized coordinates based on output video resolution. Valid values: `0.0`\u2013`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video."
+        }
+      },
+      "type": "object"
+    },
+    "AnimationStatic": {
+      "description": "Display static overlay object.",
+      "id": "AnimationStatic",
+      "properties": {
+        "startTimeOffset": {
+          "description": "The time to start displaying the overlay object, in seconds. Default: 0",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "xy": {
+          "$ref": "NormalizedCoordinate",
+          "description": "Normalized coordinates based on output video resolution. Valid values: `0.0`\u2013`1.0`. `xy` is the upper-left coordinate of the overlay object. For example, use the x and y coordinates {0,0} to position the top-left corner of the overlay animation in the top-left corner of the output video."
+        }
+      },
+      "type": "object"
+    },
+    "Audio": {
+      "description": "Audio preprocessing configuration.",
+      "id": "Audio",
+      "properties": {
+        "highBoost": {
+          "description": "Enable boosting high frequency components. The default is `false`.",
+          "type": "boolean"
+        },
+        "lowBoost": {
+          "description": "Enable boosting low frequency components. The default is `false`.",
+          "type": "boolean"
+        },
+        "lufs": {
+          "description": "Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 (the default), where: * -24 is the Advanced Television Systems Committee (ATSC A/85) standard * -23 is the EU R128 broadcast standard * -19 is the prior standard for online mono audio * -18 is the ReplayGain standard * -16 is the prior standard for stereo audio * -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo * 0 disables normalization",
+          "format": "double",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
+    "AudioMapping": {
+      "description": "The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.",
+      "id": "AudioMapping",
+      "properties": {
+        "atomKey": {
+          "description": "Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.",
+          "type": "string"
+        },
+        "gainDb": {
+          "description": "Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.",
+          "format": "double",
+          "type": "number"
+        },
+        "inputChannel": {
+          "description": "Required. The zero-based index of the channel in the input audio stream.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "inputKey": {
+          "description": "Required. The `Input.key` that identifies the input file.",
+          "type": "string"
+        },
+        "inputTrack": {
+          "description": "Required. The zero-based index of the track in the input file.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "outputChannel": {
+          "description": "Required. The zero-based index of the channel in the output audio stream.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "AudioStream": {
+      "description": "Audio stream resource.",
+      "id": "AudioStream",
+      "properties": {
+        "bitrateBps": {
+          "description": "Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "channelCount": {
+          "description": "Number of audio channels. Must be between 1 and 6. The default is 2.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "channelLayout": {
+          "description": "A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is `[\"fl\", \"fr\"]`. Supported channel names: - `fl` - Front left channel - `fr` - Front right channel - `sl` - Side left channel - `sr` - Side right channel - `fc` - Front center channel - `lfe` - Low frequency",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "codec": {
+          "description": "The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`",
+          "type": "string"
+        },
+        "mapping": {
+          "description": "The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.",
+          "items": {
+            "$ref": "AudioMapping"
+          },
+          "type": "array"
+        },
+        "sampleRateHertz": {
+          "description": "The audio sample rate in Hertz. The default is 48000 Hertz.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "Color": {
+      "description": "Color preprocessing configuration.",
+      "id": "Color",
+      "properties": {
+        "brightness": {
+          "description": "Control brightness of the video. Enter a value between -1 and 1, where -1 is minimum brightness and 1 is maximum brightness. 0 is no change. The default is 0.",
+          "format": "double",
+          "type": "number"
+        },
+        "contrast": {
+          "description": "Control black and white contrast of the video. Enter a value between -1 and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The default is 0.",
+          "format": "double",
+          "type": "number"
+        },
+        "saturation": {
+          "description": "Control color saturation of the video. Enter a value between -1 and 1, where -1 is fully desaturated and 1 is maximum saturation. 0 is no change. The default is 0.",
+          "format": "double",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
+    "Crop": {
+      "description": "Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution.",
+      "id": "Crop",
+      "properties": {
+        "bottomPixels": {
+          "description": "The number of pixels to crop from the bottom. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "leftPixels": {
+          "description": "The number of pixels to crop from the left. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "rightPixels": {
+          "description": "The number of pixels to crop from the right. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "topPixels": {
+          "description": "The number of pixels to crop from the top. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "Deblock": {
+      "description": "Deblock preprocessing configuration.",
+      "id": "Deblock",
+      "properties": {
+        "enabled": {
+          "description": "Enable deblocker. The default is `false`.",
+          "type": "boolean"
+        },
+        "strength": {
+          "description": "Set strength of the deblocker. Enter a value between 0 and 1. The higher the value, the stronger the block removal. 0 is no deblocking. The default is 0.",
+          "format": "double",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
+    "Denoise": {
+      "description": "Denoise preprocessing configuration.",
+      "id": "Denoise",
+      "properties": {
+        "strength": {
+          "description": "Set strength of the denoise. Enter a value between 0 and 1. The higher the value, the smoother the image. 0 is no denoising. The default is 0.",
+          "format": "double",
+          "type": "number"
+        },
+        "tune": {
+          "description": "Set the denoiser mode. The default is `standard`. Supported denoiser modes: - `standard` - `grain`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "EditAtom": {
+      "description": "Edit atom.",
+      "id": "EditAtom",
+      "properties": {
+        "endTimeOffset": {
+          "description": "End time in seconds for the atom, relative to the input file timeline. When `end_time_offset` is not specified, the `inputs` are used until the end of the atom.",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "inputs": {
+          "description": "List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "key": {
+          "description": "A unique key for this atom. Must be specified when using advanced mapping.",
+          "type": "string"
+        },
+        "startTimeOffset": {
+          "description": "Start time in seconds for the atom, relative to the input file timeline. The default is `0s`.",
+          "format": "google-duration",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "ElementaryStream": {
+      "description": "Encoding of an input file such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.",
+      "id": "ElementaryStream",
+      "properties": {
+        "audioStream": {
+          "$ref": "AudioStream",
+          "description": "Encoding of an audio stream."
+        },
+        "key": {
+          "description": "A unique key for this elementary stream.",
+          "type": "string"
+        },
+        "textStream": {
+          "$ref": "TextStream",
+          "description": "Encoding of a text stream. For example, closed captions or subtitles."
+        },
+        "videoStream": {
+          "$ref": "VideoStream",
+          "description": "Encoding of a video stream."
+        }
+      },
+      "type": "object"
+    },
+    "Empty": {
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
+      "id": "Empty",
+      "properties": {},
+      "type": "object"
+    },
+    "H264CodecSettings": {
+      "description": "H264 codec settings.",
+      "id": "H264CodecSettings",
+      "properties": {
+        "allowOpenGop": {
+          "description": "Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.",
+          "type": "boolean"
+        },
+        "aqStrength": {
+          "description": "Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.",
+          "format": "double",
+          "type": "number"
+        },
+        "bFrameCount": {
+          "description": "The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "bPyramid": {
+          "description": "Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.",
+          "type": "boolean"
+        },
+        "bitrateBps": {
+          "description": "Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "crfLevel": {
+          "description": "Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "enableTwoPass": {
+          "description": "Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.",
+          "type": "boolean"
+        },
+        "entropyCoder": {
+          "description": "The entropy coder to use. The default is `cabac`. Supported entropy coders: - `cavlc` - `cabac`",
+          "type": "string"
+        },
+        "frameRate": {
+          "description": "Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.",
+          "format": "double",
+          "type": "number"
+        },
+        "gopDuration": {
+          "description": "Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "gopFrameCount": {
+          "description": "Select the GOP size based on the specified frame count. Must be greater than zero.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "heightPixels": {
+          "description": "The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "pixelFormat": {
+          "description": "Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format",
+          "type": "string"
+        },
+        "preset": {
+          "description": "Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.",
+          "type": "string"
+        },
+        "profile": {
+          "description": "Enforces the specified codec profile. The following profiles are supported: * `baseline` * `main` * `high` (default) The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.",
+          "type": "string"
+        },
+        "rateControlMode": {
+          "description": "Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor",
+          "type": "string"
+        },
+        "tune": {
+          "description": "Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.",
+          "type": "string"
+        },
+        "vbvFullnessBits": {
+          "description": "Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "vbvSizeBits": {
+          "description": "Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "widthPixels": {
+          "description": "The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "H265CodecSettings": {
+      "description": "H265 codec settings.",
+      "id": "H265CodecSettings",
+      "properties": {
+        "allowOpenGop": {
+          "description": "Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is `false`.",
+          "type": "boolean"
+        },
+        "aqStrength": {
+          "description": "Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.",
+          "format": "double",
+          "type": "number"
+        },
+        "bFrameCount": {
+          "description": "The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "bPyramid": {
+          "description": "Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is `false`.",
+          "type": "boolean"
+        },
+        "bitrateBps": {
+          "description": "Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "crfLevel": {
+          "description": "Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "enableTwoPass": {
+          "description": "Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.",
+          "type": "boolean"
+        },
+        "frameRate": {
+          "description": "Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.",
+          "format": "double",
+          "type": "number"
+        },
+        "gopDuration": {
+          "description": "Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "gopFrameCount": {
+          "description": "Select the GOP size based on the specified frame count. Must be greater than zero.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "heightPixels": {
+          "description": "The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "pixelFormat": {
+          "description": "Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format",
+          "type": "string"
+        },
+        "preset": {
+          "description": "Enforces the specified codec preset. The default is `veryfast`. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.",
+          "type": "string"
+        },
+        "profile": {
+          "description": "Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.",
+          "type": "string"
+        },
+        "rateControlMode": {
+          "description": "Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor",
+          "type": "string"
+        },
+        "tune": {
+          "description": "Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.",
+          "type": "string"
+        },
+        "vbvFullnessBits": {
+          "description": "Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "vbvSizeBits": {
+          "description": "Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "widthPixels": {
+          "description": "The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "Image": {
+      "description": "Overlaid jpeg image.",
+      "id": "Image",
+      "properties": {
+        "alpha": {
+          "description": "Target image opacity. Valid values are from `1.0` (solid, default) to `0.0` (transparent), exclusive. Set this to a value greater than `0.0`.",
+          "format": "double",
+          "type": "number"
+        },
+        "resolution": {
+          "$ref": "NormalizedCoordinate",
+          "description": "Normalized image resolution, based on output video resolution. Valid values: `0.0`\u2013`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`."
+        },
+        "uri": {
+          "description": "Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Input": {
+      "description": "Input asset.",
+      "id": "Input",
+      "properties": {
+        "key": {
+          "description": "A unique key for this input. Must be specified when using advanced mapping and edit lists.",
+          "type": "string"
+        },
+        "preprocessingConfig": {
+          "$ref": "PreprocessingConfig",
+          "description": "Preprocessing configurations."
+        },
+        "uri": {
+          "description": "URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value will be populated from `Job.input_uri`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Job": {
+      "description": "Transcoding job resource.",
+      "id": "Job",
+      "properties": {
+        "config": {
+          "$ref": "JobConfig",
+          "description": "The configuration for this job."
+        },
+        "createTime": {
+          "description": "Output only. The time the job was created.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "endTime": {
+          "description": "Output only. The time the transcoding finished.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "error": {
+          "$ref": "Status",
+          "description": "Output only. An error object that describes the reason for the failure. This property is always present when `state` is `FAILED`.",
+          "readOnly": true
+        },
+        "inputUri": {
+          "description": "Input only. Specify the `input_uri` to populate empty `uri` fields in each element of `Job.config.inputs` or `JobTemplate.config.inputs` when using template. URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`).",
+          "type": "string"
+        },
+        "name": {
+          "description": "The resource name of the job. Format: `projects/{project_number}/locations/{location}/jobs/{job}`",
+          "type": "string"
+        },
+        "outputUri": {
+          "description": "Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or `JobTemplate.config.output.uri` when using template. URI for the output file(s). For example, `gs://my-bucket/outputs/`.",
+          "type": "string"
+        },
+        "startTime": {
+          "description": "Output only. The time the transcoding started.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "state": {
+          "description": "Output only. The current state of the job.",
+          "enum": [
+            "PROCESSING_STATE_UNSPECIFIED",
+            "PENDING",
+            "RUNNING",
+            "SUCCEEDED",
+            "FAILED"
+          ],
+          "enumDescriptions": [
+            "The processing state is not specified.",
+            "The job is enqueued and will be picked up for processing soon.",
+            "The job is being processed.",
+            "The job has been completed successfully.",
+            "The job has failed. For additional information, see `failure_reason` and `failure_details`"
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
+        "templateId": {
+          "description": "Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`. Preset Transcoder templates: - `preset/{preset_id}` - User defined JobTemplate: `{job_template_id}`",
+          "type": "string"
+        },
+        "ttlAfterCompletionDays": {
+          "description": "Job time to live value in days, which will be effective after job completion. Job should be deleted automatically after the given TTL. Enter a value between 1 and 90. The default is 30.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "JobConfig": {
+      "description": "Job configuration",
+      "id": "JobConfig",
+      "properties": {
+        "adBreaks": {
+          "description": "List of ad breaks. Specifies where to insert ad break tags in the output manifests.",
+          "items": {
+            "$ref": "AdBreak"
+          },
+          "type": "array"
+        },
+        "editList": {
+          "description": "List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.",
+          "items": {
+            "$ref": "EditAtom"
+          },
+          "type": "array"
+        },
+        "elementaryStreams": {
+          "description": "List of elementary streams.",
+          "items": {
+            "$ref": "ElementaryStream"
+          },
+          "type": "array"
+        },
+        "inputs": {
+          "description": "List of input assets stored in Cloud Storage.",
+          "items": {
+            "$ref": "Input"
+          },
+          "type": "array"
+        },
+        "manifests": {
+          "description": "List of output manifests.",
+          "items": {
+            "$ref": "Manifest"
+          },
+          "type": "array"
+        },
+        "muxStreams": {
+          "description": "List of multiplexing settings for output streams.",
+          "items": {
+            "$ref": "MuxStream"
+          },
+          "type": "array"
+        },
+        "output": {
+          "$ref": "Output",
+          "description": "Output configuration."
+        },
+        "overlays": {
+          "description": "List of overlays on the output video, in descending Z-order.",
+          "items": {
+            "$ref": "Overlay"
+          },
+          "type": "array"
+        },
+        "pubsubDestination": {
+          "$ref": "PubsubDestination",
+          "description": "Destination on Pub/Sub."
+        },
+        "spriteSheets": {
+          "description": "List of output sprite sheets.",
+          "items": {
+            "$ref": "SpriteSheet"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "JobTemplate": {
+      "description": "Transcoding job template resource.",
+      "id": "JobTemplate",
+      "properties": {
+        "config": {
+          "$ref": "JobConfig",
+          "description": "The configuration for this template."
+        },
+        "name": {
+          "description": "The resource name of the job template. Format: `projects/{project_number}/locations/{location}/jobTemplates/{job_template}`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "ListJobTemplatesResponse": {
+      "description": "Response message for `TranscoderService.ListJobTemplates`.",
+      "id": "ListJobTemplatesResponse",
+      "properties": {
+        "jobTemplates": {
+          "description": "List of job templates in the specified region.",
+          "items": {
+            "$ref": "JobTemplate"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The pagination token.",
+          "type": "string"
+        },
+        "unreachable": {
+          "description": "List of regions that could not be reached.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "ListJobsResponse": {
+      "description": "Response message for `TranscoderService.ListJobs`.",
+      "id": "ListJobsResponse",
+      "properties": {
+        "jobs": {
+          "description": "List of jobs in the specified region.",
+          "items": {
+            "$ref": "Job"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The pagination token.",
+          "type": "string"
+        },
+        "unreachable": {
+          "description": "List of regions that could not be reached.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "Manifest": {
+      "description": "Manifest configuration.",
+      "id": "Manifest",
+      "properties": {
+        "fileName": {
+          "description": "The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.",
+          "type": "string"
+        },
+        "muxStreams": {
+          "description": "Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "type": {
+          "description": "Required. Type of the manifest, can be `HLS` or `DASH`.",
+          "enum": [
+            "MANIFEST_TYPE_UNSPECIFIED",
+            "HLS",
+            "DASH"
+          ],
+          "enumDescriptions": [
+            "The manifest type is not specified.",
+            "Create `HLS` manifest. The corresponding file extension is `.m3u8`.",
+            "Create `DASH` manifest. The corresponding file extension is `.mpd`."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "MuxStream": {
+      "description": "Multiplexing settings for output stream.",
+      "id": "MuxStream",
+      "properties": {
+        "container": {
+          "description": "The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt`",
+          "type": "string"
+        },
+        "elementaryStreams": {
+          "description": "List of `ElementaryStream.key`s multiplexed in this stream.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "fileName": {
+          "description": "The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.",
+          "type": "string"
+        },
+        "key": {
+          "description": "A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.",
+          "type": "string"
+        },
+        "segmentSettings": {
+          "$ref": "SegmentSettings",
+          "description": "Segment settings for `ts`, `fmp4` and `vtt`."
+        }
+      },
+      "type": "object"
+    },
+    "NormalizedCoordinate": {
+      "description": "2D normalized coordinates. Default: `{0.0, 0.0}`",
+      "id": "NormalizedCoordinate",
+      "properties": {
+        "x": {
+          "description": "Normalized x coordinate.",
+          "format": "double",
+          "type": "number"
+        },
+        "y": {
+          "description": "Normalized y coordinate.",
+          "format": "double",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
+    "Output": {
+      "description": "Location of output file(s) in a Cloud Storage bucket.",
+      "id": "Output",
+      "properties": {
+        "uri": {
+          "description": "URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty the value is populated from `Job.output_uri`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Overlay": {
+      "description": "Overlay configuration.",
+      "id": "Overlay",
+      "properties": {
+        "animations": {
+          "description": "List of Animations. The list should be chronological, without any time overlap.",
+          "items": {
+            "$ref": "Animation"
+          },
+          "type": "array"
+        },
+        "image": {
+          "$ref": "Image",
+          "description": "Image overlay."
+        }
+      },
+      "type": "object"
+    },
+    "Pad": {
+      "description": "Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution.",
+      "id": "Pad",
+      "properties": {
+        "bottomPixels": {
+          "description": "The number of pixels to add to the bottom. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "leftPixels": {
+          "description": "The number of pixels to add to the left. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "rightPixels": {
+          "description": "The number of pixels to add to the right. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "topPixels": {
+          "description": "The number of pixels to add to the top. The default is 0.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "PreprocessingConfig": {
+      "description": "Preprocessing configurations.",
+      "id": "PreprocessingConfig",
+      "properties": {
+        "audio": {
+          "$ref": "Audio",
+          "description": "Audio preprocessing configuration."
+        },
+        "color": {
+          "$ref": "Color",
+          "description": "Color preprocessing configuration."
+        },
+        "crop": {
+          "$ref": "Crop",
+          "description": "Specify the video cropping configuration."
+        },
+        "deblock": {
+          "$ref": "Deblock",
+          "description": "Deblock preprocessing configuration."
+        },
+        "denoise": {
+          "$ref": "Denoise",
+          "description": "Denoise preprocessing configuration."
+        },
+        "pad": {
+          "$ref": "Pad",
+          "description": "Specify the video pad filter configuration."
+        }
+      },
+      "type": "object"
+    },
+    "PubsubDestination": {
+      "description": "A Pub/Sub destination.",
+      "id": "PubsubDestination",
+      "properties": {
+        "topic": {
+          "description": "The name of the Pub/Sub topic to publish job completion notification to. For example: `projects/{project}/topics/{topic}`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "SegmentSettings": {
+      "description": "Segment settings for `ts`, `fmp4` and `vtt`.",
+      "id": "SegmentSettings",
+      "properties": {
+        "individualSegments": {
+          "description": "Required. Create an individual segment file. The default is `false`.",
+          "type": "boolean"
+        },
+        "segmentDuration": {
+          "description": "Duration of the segments in seconds. The default is `6.0s`. Note that `segmentDuration` must be greater than or equal to [`gopDuration`](#videostream), and `segmentDuration` must be divisible by [`gopDuration`](#videostream).",
+          "format": "google-duration",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "SpriteSheet": {
+      "description": "Sprite sheet configuration.",
+      "id": "SpriteSheet",
+      "properties": {
+        "columnCount": {
+          "description": "The maximum number of sprites per row in a sprite sheet. The default is 0, which indicates no maximum limit.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "endTimeOffset": {
+          "description": "End time in seconds, relative to the output file timeline. When `end_time_offset` is not specified, the sprites are generated until the end of the output file.",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "filePrefix": {
+          "description": "Required. File name prefix for the generated sprite sheets. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.",
+          "type": "string"
+        },
+        "format": {
+          "description": "Format type. The default is `jpeg`. Supported formats: - `jpeg`",
+          "type": "string"
+        },
+        "interval": {
+          "description": "Starting from `0s`, create sprites at regular intervals. Specify the interval value in seconds.",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "quality": {
+          "description": "The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "rowCount": {
+          "description": "The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. The default is 0, which indicates no maximum limit.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "spriteHeightPixels": {
+          "description": "Required. The height of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_height_pixels field or the SpriteSheet.sprite_width_pixels field, but not both (the API will automatically calculate the missing field).",
+          "format": "int32",
+          "type": "integer"
+        },
+        "spriteWidthPixels": {
+          "description": "Required. The width of sprite in pixels. Must be an even integer. To preserve the source aspect ratio, set the SpriteSheet.sprite_width_pixels field or the SpriteSheet.sprite_height_pixels field, but not both (the API will automatically calculate the missing field).",
+          "format": "int32",
+          "type": "integer"
+        },
+        "startTimeOffset": {
+          "description": "Start time in seconds, relative to the output file timeline. Determines the first sprite to pick. The default is `0s`.",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "totalCount": {
+          "description": "Total number of sprites. Create the specified number of sprites distributed evenly across the timeline of the output media. The default is 100.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "Status": {
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "id": "Status",
+      "properties": {
+        "code": {
+          "description": "The status code, which should be an enum value of google.rpc.Code.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "details": {
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
+          "items": {
+            "additionalProperties": {
+              "description": "Properties of the object. Contains field @type with type URL.",
+              "type": "any"
+            },
+            "type": "object"
+          },
+          "type": "array"
+        },
+        "message": {
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "TextMapping": {
+      "description": "The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.",
+      "id": "TextMapping",
+      "properties": {
+        "atomKey": {
+          "description": "Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.",
+          "type": "string"
+        },
+        "inputKey": {
+          "description": "Required. The `Input.key` that identifies the input file.",
+          "type": "string"
+        },
+        "inputTrack": {
+          "description": "Required. The zero-based index of the track in the input file.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "TextStream": {
+      "description": "Encoding of a text stream. For example, closed captions or subtitles.",
+      "id": "TextStream",
+      "properties": {
+        "codec": {
+          "description": "The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`",
+          "type": "string"
+        },
+        "mapping": {
+          "description": "The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.",
+          "items": {
+            "$ref": "TextMapping"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VideoStream": {
+      "description": "Video stream resource.",
+      "id": "VideoStream",
+      "properties": {
+        "h264": {
+          "$ref": "H264CodecSettings",
+          "description": "H264 codec settings."
+        },
+        "h265": {
+          "$ref": "H265CodecSettings",
+          "description": "H265 codec settings."
+        },
+        "vp9": {
+          "$ref": "Vp9CodecSettings",
+          "description": "VP9 codec settings."
+        }
+      },
+      "type": "object"
+    },
+    "Vp9CodecSettings": {
+      "description": "VP9 codec settings.",
+      "id": "Vp9CodecSettings",
+      "properties": {
+        "bitrateBps": {
+          "description": "Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "crfLevel": {
+          "description": "Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most efficient compression. The default is 21.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "frameRate": {
+          "description": "Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.",
+          "format": "double",
+          "type": "number"
+        },
+        "gopDuration": {
+          "description": "Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.",
+          "format": "google-duration",
+          "type": "string"
+        },
+        "gopFrameCount": {
+          "description": "Select the GOP size based on the specified frame count. Must be greater than zero.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "heightPixels": {
+          "description": "The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "pixelFormat": {
+          "description": "Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format",
+          "type": "string"
+        },
+        "profile": {
+          "description": "Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.",
+          "type": "string"
+        },
+        "rateControlMode": {
+          "description": "Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor",
+          "type": "string"
+        },
+        "widthPixels": {
+          "description": "The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    }
+  },
+  "servicePath": "",
+  "title": "Transcoder API",
+  "version": "v1",
+  "version_module": true
+}
\ No newline at end of file
diff --git a/googleapiclient/discovery_cache/documents/verifiedaccess.v1.json b/googleapiclient/discovery_cache/documents/verifiedaccess.v1.json
index a809435..753632d 100644
--- a/googleapiclient/discovery_cache/documents/verifiedaccess.v1.json
+++ b/googleapiclient/discovery_cache/documents/verifiedaccess.v1.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20210630",
+  "revision": "20211203",
   "rootUrl": "https://verifiedaccess.googleapis.com/",
   "schemas": {
     "Challenge": {
diff --git a/googleapiclient/discovery_cache/documents/versionhistory.v1.json b/googleapiclient/discovery_cache/documents/versionhistory.v1.json
index 1d6c6fa..5e0ae49 100644
--- a/googleapiclient/discovery_cache/documents/versionhistory.v1.json
+++ b/googleapiclient/discovery_cache/documents/versionhistory.v1.json
@@ -271,7 +271,7 @@
       }
     }
   },
-  "revision": "20211206",
+  "revision": "20211213",
   "rootUrl": "https://versionhistory.googleapis.com/",
   "schemas": {
     "Channel": {
diff --git a/googleapiclient/discovery_cache/documents/vmmigration.v1.json b/googleapiclient/discovery_cache/documents/vmmigration.v1.json
index f7d7d3c..c57fa3c 100644
--- a/googleapiclient/discovery_cache/documents/vmmigration.v1.json
+++ b/googleapiclient/discovery_cache/documents/vmmigration.v1.json
@@ -1858,7 +1858,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211207",
   "rootUrl": "https://vmmigration.googleapis.com/",
   "schemas": {
     "AddGroupMigrationRequest": {
@@ -1997,6 +1997,13 @@
       "description": "ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project.",
       "id": "ComputeEngineTargetDefaults",
       "properties": {
+        "additionalLicenses": {
+          "description": "Additional licenses to assign to the VM.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "appliedLicense": {
           "$ref": "AppliedLicense",
           "description": "Output only. The OS license returned from the adaptation module report.",
@@ -2114,6 +2121,13 @@
       "description": "ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project.",
       "id": "ComputeEngineTargetDetails",
       "properties": {
+        "additionalLicenses": {
+          "description": "Additional licenses to assign to the VM.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "appliedLicense": {
           "$ref": "AppliedLicense",
           "description": "The OS license returned from the adaptation module report."
diff --git a/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json b/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json
index af324bc..e2c9f57 100644
--- a/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json
@@ -1858,7 +1858,7 @@
       }
     }
   },
-  "revision": "20211130",
+  "revision": "20211207",
   "rootUrl": "https://vmmigration.googleapis.com/",
   "schemas": {
     "AddGroupMigrationRequest": {
@@ -1989,6 +1989,13 @@
       "description": "ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project.",
       "id": "ComputeEngineTargetDefaults",
       "properties": {
+        "additionalLicenses": {
+          "description": "Additional licenses to assign to the VM.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "appliedLicense": {
           "$ref": "AppliedLicense",
           "description": "Output only. The OS license returned from the adaptation module report.",
@@ -2106,6 +2113,13 @@
       "description": "ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project.",
       "id": "ComputeEngineTargetDetails",
       "properties": {
+        "additionalLicenses": {
+          "description": "Additional licenses to assign to the VM.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "appliedLicense": {
           "$ref": "AppliedLicense",
           "description": "The OS license returned from the adaptation module report."
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
index 80f5248..b59f4a9 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
index 10ba07e..9227083 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
index 64103db..a8cf2b9 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json b/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
index 3fa3fb6..af18d67 100644
--- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
+++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
@@ -269,7 +269,7 @@
       }
     }
   },
-  "revision": "20211123",
+  "revision": "20211130",
   "rootUrl": "https://workflowexecutions.googleapis.com/",
   "schemas": {
     "CancelExecutionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json b/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
index 995125e..bee3a88 100644
--- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
@@ -269,7 +269,7 @@
       }
     }
   },
-  "revision": "20211123",
+  "revision": "20211130",
   "rootUrl": "https://workflowexecutions.googleapis.com/",
   "schemas": {
     "CancelExecutionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/workflows.v1.json b/googleapiclient/discovery_cache/documents/workflows.v1.json
index 5042e6a..a9d5ee0 100644
--- a/googleapiclient/discovery_cache/documents/workflows.v1.json
+++ b/googleapiclient/discovery_cache/documents/workflows.v1.json
@@ -444,7 +444,7 @@
       }
     }
   },
-  "revision": "20211117",
+  "revision": "20211201",
   "rootUrl": "https://workflows.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/workflows.v1beta.json b/googleapiclient/discovery_cache/documents/workflows.v1beta.json
index 8b98911..296df3f 100644
--- a/googleapiclient/discovery_cache/documents/workflows.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/workflows.v1beta.json
@@ -444,7 +444,7 @@
       }
     }
   },
-  "revision": "20211117",
+  "revision": "20211201",
   "rootUrl": "https://workflows.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/youtube.v3.json b/googleapiclient/discovery_cache/documents/youtube.v3.json
index 39c890b..073573c 100644
--- a/googleapiclient/discovery_cache/documents/youtube.v3.json
+++ b/googleapiclient/discovery_cache/documents/youtube.v3.json
@@ -3789,7 +3789,7 @@
       }
     }
   },
-  "revision": "20211204",
+  "revision": "20211211",
   "rootUrl": "https://youtube.googleapis.com/",
   "schemas": {
     "AbuseReport": {
diff --git a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
index 87c0487..691fe07 100644
--- a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
+++ b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
@@ -421,7 +421,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://youtubeanalytics.googleapis.com/",
   "schemas": {
     "EmptyResponse": {
diff --git a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
index 73102ac..ce74d8c 100644
--- a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
+++ b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
@@ -411,7 +411,7 @@
       }
     }
   },
-  "revision": "20211203",
+  "revision": "20211211",
   "rootUrl": "https://youtubereporting.googleapis.com/",
   "schemas": {
     "Empty": {
