diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html
index 6cf114d..8dfe857 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html
@@ -205,7 +205,10 @@
               ],
               &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
               &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+              &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
               &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+              &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+              &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
             },
             &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
               &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.products.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.products.html
index 583aea8..961e63e 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.products.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.products.html
@@ -253,7 +253,10 @@
       ],
       &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
       &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+      &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
       &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+      &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+      &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
     },
     &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
       &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -469,7 +472,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
index 1986810..dc2776d 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
@@ -224,7 +224,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -662,7 +665,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -1068,7 +1074,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -1457,7 +1466,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -1844,7 +1856,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -2239,7 +2254,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -2644,7 +2662,10 @@
               ],
               &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
               &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+              &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
               &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+              &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+              &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
             },
             &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
               &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -3062,7 +3083,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -3463,7 +3487,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -3853,7 +3880,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
@@ -4240,7 +4270,10 @@
           ],
           &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
           &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;impressionCap&quot;: &quot;A String&quot;, # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
           &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;percentShareOfVoice&quot;: &quot;A String&quot;, # For sponsorship deals, this is the percentage of the seller&#x27;s eligible impressions that the deal will serve until the cap is reached.
+          &quot;reservationType&quot;: &quot;A String&quot;, # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
         },
         &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
           &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
diff --git a/docs/dyn/artifactregistry_v1beta1.projects.locations.html b/docs/dyn/artifactregistry_v1beta1.projects.locations.html
index a8cb94d..54a45b8 100644
--- a/docs/dyn/artifactregistry_v1beta1.projects.locations.html
+++ b/docs/dyn/artifactregistry_v1beta1.projects.locations.html
@@ -136,7 +136,7 @@
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like &quot;displayName=tokyo&quot;, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
-  pageSize: integer, The maximum number of results to return. If not set, the service will select a default.
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/artifactregistry_v1beta2.projects.locations.html b/docs/dyn/artifactregistry_v1beta2.projects.locations.html
index b403e55..787e21c 100644
--- a/docs/dyn/artifactregistry_v1beta2.projects.locations.html
+++ b/docs/dyn/artifactregistry_v1beta2.projects.locations.html
@@ -136,7 +136,7 @@
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like &quot;displayName=tokyo&quot;, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
-  pageSize: integer, The maximum number of results to return. If not set, the service will select a default.
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/artifactregistry_v1beta2.projects.locations.repositories.packages.versions.html b/docs/dyn/artifactregistry_v1beta2.projects.locations.repositories.packages.versions.html
index b27dc11..6babcb9 100644
--- a/docs/dyn/artifactregistry_v1beta2.projects.locations.repositories.packages.versions.html
+++ b/docs/dyn/artifactregistry_v1beta2.projects.locations.repositories.packages.versions.html
@@ -153,6 +153,9 @@
     { # The body of a version resource. A version resource represents a collection of components, such as files and other data. This may correspond to a version in many package management schemes.
   &quot;createTime&quot;: &quot;A String&quot;, # The time when the version was created.
   &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the version, as specified in its metadata.
+  &quot;metadata&quot;: { # Output only. Repository-specific Metadata stored against this version. The fields returned are defined by the underlying repository-specific resource. Currently, the only resource in use is DockerImage
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+  },
   &quot;name&quot;: &quot;A String&quot;, # The name of the version, for example: &quot;projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1&quot;.
   &quot;relatedTags&quot;: [ # Output only. A list of related tags. Will contain up to 100 tags that reference this version.
     { # Tags point to a version and represent an alternative name that can be used to access the version.
@@ -192,6 +195,9 @@
     { # The body of a version resource. A version resource represents a collection of components, such as files and other data. This may correspond to a version in many package management schemes.
       &quot;createTime&quot;: &quot;A String&quot;, # The time when the version was created.
       &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the version, as specified in its metadata.
+      &quot;metadata&quot;: { # Output only. Repository-specific Metadata stored against this version. The fields returned are defined by the underlying repository-specific resource. Currently, the only resource in use is DockerImage
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
       &quot;name&quot;: &quot;A String&quot;, # The name of the version, for example: &quot;projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1&quot;.
       &quot;relatedTags&quot;: [ # Output only. A list of related tags. Will contain up to 100 tags that reference this version.
         { # Tags point to a version and represent an alternative name that can be used to access the version.
diff --git a/docs/dyn/bigquerydatatransfer_v1.projects.locations.html b/docs/dyn/bigquerydatatransfer_v1.projects.locations.html
index 64c644f..60437cc 100644
--- a/docs/dyn/bigquerydatatransfer_v1.projects.locations.html
+++ b/docs/dyn/bigquerydatatransfer_v1.projects.locations.html
@@ -136,7 +136,7 @@
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like &quot;displayName=tokyo&quot;, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
-  pageSize: integer, The maximum number of results to return. If not set, the service will select a default.
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/bigqueryreservation_v1.projects.locations.capacityCommitments.html b/docs/dyn/bigqueryreservation_v1.projects.locations.capacityCommitments.html
index d0774ea..f1de824 100644
--- a/docs/dyn/bigqueryreservation_v1.projects.locations.capacityCommitments.html
+++ b/docs/dyn/bigqueryreservation_v1.projects.locations.capacityCommitments.html
@@ -78,7 +78,7 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#create">create(parent, body=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(parent, body=None, capacityCommitmentId=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a new capacity commitment resource.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
@@ -108,7 +108,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="create">create(parent, body=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</code>
+    <code class="details" id="create">create(parent, body=None, capacityCommitmentId=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</code>
   <pre>Creates a new capacity commitment resource.
 
 Args:
@@ -135,6 +135,7 @@
   &quot;state&quot;: &quot;A String&quot;, # Output only. State of the commitment.
 }
 
+  capacityCommitmentId: string, The optional capacity commitment ID. Capacity commitment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dash. Max length is 64 characters. NOTE: this ID won&#x27;t be kept if the capacity commitment is split or merged.
   enforceSingleAdminProjectPerOrg: boolean, If true, fail the request if another project in the organization has a capacity commitment.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/bigqueryreservation_v1.projects.locations.reservations.assignments.html b/docs/dyn/bigqueryreservation_v1.projects.locations.reservations.assignments.html
index 172a637..bf021ed 100644
--- a/docs/dyn/bigqueryreservation_v1.projects.locations.reservations.assignments.html
+++ b/docs/dyn/bigqueryreservation_v1.projects.locations.reservations.assignments.html
@@ -78,7 +78,7 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(parent, assignmentId=None, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location) combination, and that reservation will be used for all jobs of the matching type. Different assignments can be created on different levels of the projects, folders or organization hierarchy. During query execution, the assignment is looked up at the project, folder and organization levels in that order. The first assignment found is applied to the query. When creating assignments, it does not matter if other assignments exist at higher levels. Example: * The organization `organizationA` contains two projects, `project1` and `project2`. * Assignments for all three entities (`organizationA`, `project1`, and `project2`) could all be created and mapped to the same or different reservations. "None" assignments represent an absence of the assignment. Projects assigned to None use on-demand pricing. To create a "None" assignment, use "none" as a reservation_id in the parent. Example parent: `projects/myproject/locations/US/reservations/none`. Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have 'bigquery.admin' permissions on the project using the reservation and the project that owns this reservation. Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment does not match location of the reservation.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
@@ -92,6 +92,9 @@
 <p class="toc_element">
   <code><a href="#move">move(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Moves an assignment under a new reservation. This differs from removing an existing assignment and recreating a new one by providing a transactional change that ensures an assignee always has an associated reservation.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates an existing assignment. Only the `priority` field can be updated.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -99,7 +102,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+    <code class="details" id="create">create(parent, assignmentId=None, body=None, x__xgafv=None)</code>
   <pre>Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location) combination, and that reservation will be used for all jobs of the matching type. Different assignments can be created on different levels of the projects, folders or organization hierarchy. During query execution, the assignment is looked up at the project, folder and organization levels in that order. The first assignment found is applied to the query. When creating assignments, it does not matter if other assignments exist at higher levels. Example: * The organization `organizationA` contains two projects, `project1` and `project2`. * Assignments for all three entities (`organizationA`, `project1`, and `project2`) could all be created and mapped to the same or different reservations. &quot;None&quot; assignments represent an absence of the assignment. Projects assigned to None use on-demand pricing. To create a &quot;None&quot; assignment, use &quot;none&quot; as a reservation_id in the parent. Example parent: `projects/myproject/locations/US/reservations/none`. Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have &#x27;bigquery.admin&#x27; permissions on the project using the reservation and the project that owns this reservation. Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment does not match location of the reservation.
 
 Args:
@@ -114,6 +117,7 @@
   &quot;state&quot;: &quot;A String&quot;, # Output only. State of the assignment.
 }
 
+  assignmentId: string, The optional assignment ID. Assignment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dash. Max length is 64 characters.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -220,4 +224,37 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates an existing assignment. Only the `priority` field can be updated.
+
+Args:
+  name: string, Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A Assignment allows a project to submit jobs of a certain type using slots from the specified reservation.
+  &quot;assignee&quot;: &quot;A String&quot;, # The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`.
+  &quot;jobType&quot;: &quot;A String&quot;, # Which type of jobs will use the reservation.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. State of the assignment.
+}
+
+  updateMask: string, Standard field mask for the set of fields to be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A Assignment allows a project to submit jobs of a certain type using slots from the specified reservation.
+  &quot;assignee&quot;: &quot;A String&quot;, # The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`.
+  &quot;jobType&quot;: &quot;A String&quot;, # Which type of jobs will use the reservation.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. State of the assignment.
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigqueryreservation_v1beta1.projects.locations.capacityCommitments.html b/docs/dyn/bigqueryreservation_v1beta1.projects.locations.capacityCommitments.html
index 8f57c57..d90dac9 100644
--- a/docs/dyn/bigqueryreservation_v1beta1.projects.locations.capacityCommitments.html
+++ b/docs/dyn/bigqueryreservation_v1beta1.projects.locations.capacityCommitments.html
@@ -78,7 +78,7 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#create">create(parent, body=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(parent, body=None, capacityCommitmentId=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a new capacity commitment resource.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
@@ -108,7 +108,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="create">create(parent, body=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</code>
+    <code class="details" id="create">create(parent, body=None, capacityCommitmentId=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</code>
   <pre>Creates a new capacity commitment resource.
 
 Args:
@@ -135,6 +135,7 @@
   &quot;state&quot;: &quot;A String&quot;, # Output only. State of the commitment.
 }
 
+  capacityCommitmentId: string, The optional capacity commitment ID. Capacity commitment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dash. Max length is 64 characters. NOTE: this ID won&#x27;t be kept if the capacity commitment is split or merged.
   enforceSingleAdminProjectPerOrg: boolean, If true, fail the request if another project in the organization has a capacity commitment.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/bigqueryreservation_v1beta1.projects.locations.reservations.assignments.html b/docs/dyn/bigqueryreservation_v1beta1.projects.locations.reservations.assignments.html
index 55241ab..eae2ef3 100644
--- a/docs/dyn/bigqueryreservation_v1beta1.projects.locations.reservations.assignments.html
+++ b/docs/dyn/bigqueryreservation_v1beta1.projects.locations.reservations.assignments.html
@@ -78,7 +78,7 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(parent, assignmentId=None, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location) combination, and that reservation will be used for all jobs of the matching type. Different assignments can be created on different levels of the projects, folders or organization hierarchy. During query execution, the assignment is looked up at the project, folder and organization levels in that order. The first assignment found is applied to the query. When creating assignments, it does not matter if other assignments exist at higher levels. Example: * The organization `organizationA` contains two projects, `project1` and `project2`. * Assignments for all three entities (`organizationA`, `project1`, and `project2`) could all be created and mapped to the same or different reservations. "None" assignments represent an absence of the assignment. Projects assigned to None use on-demand pricing. To create a "None" assignment, use "none" as a reservation_id in the parent. Example parent: `projects/myproject/locations/US/reservations/none`. Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have 'bigquery.admin' permissions on the project using the reservation and the project that owns this reservation. Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment does not match location of the reservation.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
@@ -92,6 +92,9 @@
 <p class="toc_element">
   <code><a href="#move">move(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Moves an assignment under a new reservation. This differs from removing an existing assignment and recreating a new one by providing a transactional change that ensures an assignee always has an associated reservation.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates an existing assignment. Only the `priority` field can be updated.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -99,7 +102,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+    <code class="details" id="create">create(parent, assignmentId=None, body=None, x__xgafv=None)</code>
   <pre>Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location) combination, and that reservation will be used for all jobs of the matching type. Different assignments can be created on different levels of the projects, folders or organization hierarchy. During query execution, the assignment is looked up at the project, folder and organization levels in that order. The first assignment found is applied to the query. When creating assignments, it does not matter if other assignments exist at higher levels. Example: * The organization `organizationA` contains two projects, `project1` and `project2`. * Assignments for all three entities (`organizationA`, `project1`, and `project2`) could all be created and mapped to the same or different reservations. &quot;None&quot; assignments represent an absence of the assignment. Projects assigned to None use on-demand pricing. To create a &quot;None&quot; assignment, use &quot;none&quot; as a reservation_id in the parent. Example parent: `projects/myproject/locations/US/reservations/none`. Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have &#x27;bigquery.admin&#x27; permissions on the project using the reservation and the project that owns this reservation. Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment does not match location of the reservation.
 
 Args:
@@ -114,6 +117,7 @@
   &quot;state&quot;: &quot;A String&quot;, # Output only. State of the assignment.
 }
 
+  assignmentId: string, The optional assignment ID. Assignment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dash. Max length is 64 characters.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -220,4 +224,37 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates an existing assignment. Only the `priority` field can be updated.
+
+Args:
+  name: string, Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A Assignment allows a project to submit jobs of a certain type using slots from the specified reservation.
+  &quot;assignee&quot;: &quot;A String&quot;, # The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`.
+  &quot;jobType&quot;: &quot;A String&quot;, # Which type of jobs will use the reservation.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. State of the assignment.
+}
+
+  updateMask: string, Standard field mask for the set of fields to be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A Assignment allows a project to submit jobs of a certain type using slots from the specified reservation.
+  &quot;assignee&quot;: &quot;A String&quot;, # The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`.
+  &quot;jobType&quot;: &quot;A String&quot;, # Which type of jobs will use the reservation.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. State of the assignment.
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigqueryreservation_v1beta1.projects.locations.reservations.html b/docs/dyn/bigqueryreservation_v1beta1.projects.locations.reservations.html
index a2229e2..642805e 100644
--- a/docs/dyn/bigqueryreservation_v1beta1.projects.locations.reservations.html
+++ b/docs/dyn/bigqueryreservation_v1beta1.projects.locations.reservations.html
@@ -118,7 +118,6 @@
 { # A reservation is a mechanism used to guarantee slots to users.
   &quot;creationTime&quot;: &quot;A String&quot;, # Output only. Creation time of the reservation.
   &quot;ignoreIdleSlots&quot;: True or False, # If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.
-  &quot;maxConcurrency&quot;: &quot;A String&quot;, # Maximum number of queries that are allowed to run concurrently in this reservation. Default value is 0 which means that maximum concurrency will be automatically set based on the reservation size.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`.
   &quot;slotCapacity&quot;: &quot;A String&quot;, # Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation&#x27;s slot capacity exceed the parent&#x27;s slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent&#x27;s slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last update time of the reservation.
@@ -136,7 +135,6 @@
     { # A reservation is a mechanism used to guarantee slots to users.
   &quot;creationTime&quot;: &quot;A String&quot;, # Output only. Creation time of the reservation.
   &quot;ignoreIdleSlots&quot;: True or False, # If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.
-  &quot;maxConcurrency&quot;: &quot;A String&quot;, # Maximum number of queries that are allowed to run concurrently in this reservation. Default value is 0 which means that maximum concurrency will be automatically set based on the reservation size.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`.
   &quot;slotCapacity&quot;: &quot;A String&quot;, # Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation&#x27;s slot capacity exceed the parent&#x27;s slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent&#x27;s slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last update time of the reservation.
@@ -178,7 +176,6 @@
     { # A reservation is a mechanism used to guarantee slots to users.
   &quot;creationTime&quot;: &quot;A String&quot;, # Output only. Creation time of the reservation.
   &quot;ignoreIdleSlots&quot;: True or False, # If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.
-  &quot;maxConcurrency&quot;: &quot;A String&quot;, # Maximum number of queries that are allowed to run concurrently in this reservation. Default value is 0 which means that maximum concurrency will be automatically set based on the reservation size.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`.
   &quot;slotCapacity&quot;: &quot;A String&quot;, # Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation&#x27;s slot capacity exceed the parent&#x27;s slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent&#x27;s slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last update time of the reservation.
@@ -208,7 +205,6 @@
     { # A reservation is a mechanism used to guarantee slots to users.
       &quot;creationTime&quot;: &quot;A String&quot;, # Output only. Creation time of the reservation.
       &quot;ignoreIdleSlots&quot;: True or False, # If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.
-      &quot;maxConcurrency&quot;: &quot;A String&quot;, # Maximum number of queries that are allowed to run concurrently in this reservation. Default value is 0 which means that maximum concurrency will be automatically set based on the reservation size.
       &quot;name&quot;: &quot;A String&quot;, # The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`.
       &quot;slotCapacity&quot;: &quot;A String&quot;, # Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation&#x27;s slot capacity exceed the parent&#x27;s slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent&#x27;s slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last update time of the reservation.
@@ -243,7 +239,6 @@
 { # A reservation is a mechanism used to guarantee slots to users.
   &quot;creationTime&quot;: &quot;A String&quot;, # Output only. Creation time of the reservation.
   &quot;ignoreIdleSlots&quot;: True or False, # If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.
-  &quot;maxConcurrency&quot;: &quot;A String&quot;, # Maximum number of queries that are allowed to run concurrently in this reservation. Default value is 0 which means that maximum concurrency will be automatically set based on the reservation size.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`.
   &quot;slotCapacity&quot;: &quot;A String&quot;, # Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation&#x27;s slot capacity exceed the parent&#x27;s slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent&#x27;s slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last update time of the reservation.
@@ -261,7 +256,6 @@
     { # A reservation is a mechanism used to guarantee slots to users.
   &quot;creationTime&quot;: &quot;A String&quot;, # Output only. Creation time of the reservation.
   &quot;ignoreIdleSlots&quot;: True or False, # If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.
-  &quot;maxConcurrency&quot;: &quot;A String&quot;, # Maximum number of queries that are allowed to run concurrently in this reservation. Default value is 0 which means that maximum concurrency will be automatically set based on the reservation size.
   &quot;name&quot;: &quot;A String&quot;, # The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`.
   &quot;slotCapacity&quot;: &quot;A String&quot;, # Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation&#x27;s slot capacity exceed the parent&#x27;s slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent&#x27;s slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last update time of the reservation.
diff --git a/docs/dyn/bigtableadmin_v2.projects.instances.clusters.html b/docs/dyn/bigtableadmin_v2.projects.instances.clusters.html
index d9ead7c..a5440eb 100644
--- a/docs/dyn/bigtableadmin_v2.projects.instances.clusters.html
+++ b/docs/dyn/bigtableadmin_v2.projects.instances.clusters.html
@@ -98,8 +98,11 @@
   <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="#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="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.</p>
+<p class="firstline">Updates a cluster within an instance. UpdateCluster is deprecated. Please use PartialUpdateCluster instead.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -250,8 +253,58 @@
 </div>
 
 <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. 
+
+Args:
+  name: string, The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.
+  &quot;defaultStorageType&quot;: &quot;A String&quot;, # Immutable. The type of storage used by this cluster to serve its parent instance&#x27;s tables, unless explicitly overridden.
+  &quot;encryptionConfig&quot;: { # Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster. # Immutable. The encryption configuration for CMEK-protected clusters.
+    &quot;kmsKeyName&quot;: &quot;A String&quot;, # Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster. 3) All clusters within an instance must use the same CMEK key. Values are of the form `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}`
+  },
+  &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;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.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="update">update(name, body=None, x__xgafv=None)</code>
-  <pre>Updates a cluster within an instance.
+  <pre>Updates a cluster within an instance. UpdateCluster is deprecated. Please use PartialUpdateCluster instead.
 
 Args:
   name: string, The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. (required)
diff --git a/docs/dyn/bigtableadmin_v2.projects.instances.tables.html b/docs/dyn/bigtableadmin_v2.projects.instances.tables.html
index 170fa95..eb8aaf2 100644
--- a/docs/dyn/bigtableadmin_v2.projects.instances.tables.html
+++ b/docs/dyn/bigtableadmin_v2.projects.instances.tables.html
@@ -359,7 +359,7 @@
       NAME_ONLY - Only populates `name`.
       SCHEMA_VIEW - Only populates `name` and fields related to the table&#x27;s schema.
       REPLICATION_VIEW - Only populates `name` and fields related to the table&#x27;s replication state.
-      ENCRYPTION_VIEW - Only populates &#x27;name&#x27; and fields related to the table&#x27;s encryption state.
+      ENCRYPTION_VIEW - Only populates `name` and fields related to the table&#x27;s encryption state.
       FULL - Populates all fields.
   x__xgafv: string, V1 error format.
     Allowed values
@@ -492,7 +492,7 @@
       NAME_ONLY - Only populates `name`.
       SCHEMA_VIEW - Only populates `name` and fields related to the table&#x27;s schema.
       REPLICATION_VIEW - Only populates `name` and fields related to the table&#x27;s replication state.
-      ENCRYPTION_VIEW - Only populates &#x27;name&#x27; and fields related to the table&#x27;s encryption state.
+      ENCRYPTION_VIEW - Only populates `name` and fields related to the table&#x27;s encryption state.
       FULL - Populates all fields.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/cloudasset_v1.v1.html b/docs/dyn/cloudasset_v1.v1.html
index 9c09f70..19f2ee3 100644
--- a/docs/dyn/cloudasset_v1.v1.html
+++ b/docs/dyn/cloudasset_v1.v1.html
@@ -729,14 +729,14 @@
             ],
             &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
               { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 },
-                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -747,7 +747,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                     &quot;A String&quot;,
                   ],
                 },
@@ -755,20 +755,20 @@
             ],
             &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
               { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                   &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                     { # The source that IngressPolicy authorizes access from.
-                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                     },
                   ],
                 },
-                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -779,7 +779,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                     &quot;A String&quot;,
                   ],
                 },
@@ -804,14 +804,14 @@
             ],
             &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
               { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 },
-                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -822,7 +822,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                     &quot;A String&quot;,
                   ],
                 },
@@ -830,20 +830,20 @@
             ],
             &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
               { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                   &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                     { # The source that IngressPolicy authorizes access from.
-                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                     },
                   ],
                 },
-                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -854,7 +854,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                     &quot;A String&quot;,
                   ],
                 },
@@ -1157,14 +1157,14 @@
             ],
             &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
               { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 },
-                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -1175,7 +1175,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                     &quot;A String&quot;,
                   ],
                 },
@@ -1183,20 +1183,20 @@
             ],
             &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
               { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                   &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                     { # The source that IngressPolicy authorizes access from.
-                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                     },
                   ],
                 },
-                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -1207,7 +1207,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                     &quot;A String&quot;,
                   ],
                 },
@@ -1232,14 +1232,14 @@
             ],
             &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
               { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 },
-                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -1250,7 +1250,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                     &quot;A String&quot;,
                   ],
                 },
@@ -1258,20 +1258,20 @@
             ],
             &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
               { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                   &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                     { # The source that IngressPolicy authorizes access from.
-                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                     },
                   ],
                 },
-                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -1282,7 +1282,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                     &quot;A String&quot;,
                   ],
                 },
@@ -1474,7 +1474,7 @@
   orderBy: string, Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add &quot; DESC&quot; after the field name to indicate descending order. Redundant space characters are ignored. Example: &quot;location DESC, name&quot;. Only string fields in the response are sortable, including `name`, `displayName`, `description`, `location`. All the other fields such as repeated fields (e.g., `networkTags`), map fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`) are not supported.
   pageSize: integer, Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.
   pageToken: string, Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters, must be identical to those in the previous call.
-  query: string, Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Examples: * `name:Important` to find Cloud resources whose name contains &quot;Important&quot; as a word. * `name=Important` to find the Cloud resource whose name is exactly &quot;Important&quot;. * `displayName:Impor*` to find Cloud resources whose display name contains &quot;Impor&quot; as a prefix of any word in the field. * `location:us-west*` to find Cloud resources whose location contains both &quot;us&quot; and &quot;west&quot; as prefixes. * `labels:prod` to find Cloud resources whose labels contain &quot;prod&quot; as a key or value. * `labels.env:prod` to find Cloud resources that have a label &quot;env&quot; and its value is &quot;prod&quot;. * `labels.env:*` to find Cloud resources that have a label &quot;env&quot;. * `kmsKey:key` to find Cloud resources encrypted with a customer-managed encryption key whose name contains the word &quot;key&quot;. * `state:ACTIVE` to find Cloud resources whose state contains &quot;ACTIVE&quot; as a word. * `createTime&lt;1609459200` to find Cloud resources that were created before &quot;2021-01-01 00:00:00 UTC&quot;. 1609459200 is the epoch timestamp of &quot;2021-01-01 00:00:00 UTC&quot; in seconds. * `updateTime&gt;1609459200` to find Cloud resources that were updated after &quot;2021-01-01 00:00:00 UTC&quot;. 1609459200 is the epoch timestamp of &quot;2021-01-01 00:00:00 UTC&quot; in seconds. * `Important` to find Cloud resources that contain &quot;Important&quot; as a word in any of the searchable fields. * `Impor*` to find Cloud resources that contain &quot;Impor&quot; as a prefix of any word in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Cloud resources that contain &quot;Important&quot; as a word in any of the searchable fields and are also located in the &quot;us-west1&quot; region or the &quot;global&quot; location.
+  query: string, Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Examples: * `name:Important` to find Cloud resources whose name contains &quot;Important&quot; as a word. * `name=Important` to find the Cloud resource whose name is exactly &quot;Important&quot;. * `displayName:Impor*` to find Cloud resources whose display name contains &quot;Impor&quot; as a prefix of any word in the field. * `location:us-west*` to find Cloud resources whose location contains both &quot;us&quot; and &quot;west&quot; as prefixes. * `labels:prod` to find Cloud resources whose labels contain &quot;prod&quot; as a key or value. * `labels.env:prod` to find Cloud resources that have a label &quot;env&quot; and its value is &quot;prod&quot;. * `labels.env:*` to find Cloud resources that have a label &quot;env&quot;. * `kmsKey:key` to find Cloud resources encrypted with a customer-managed encryption key whose name contains the word &quot;key&quot;. * `state:ACTIVE` to find Cloud resources whose state contains &quot;ACTIVE&quot; as a word. * `NOT state:ACTIVE` to find {{gcp_name}} resources whose state doesn&#x27;t contain &quot;ACTIVE&quot; as a word. * `createTime&lt;1609459200` to find Cloud resources that were created before &quot;2021-01-01 00:00:00 UTC&quot;. 1609459200 is the epoch timestamp of &quot;2021-01-01 00:00:00 UTC&quot; in seconds. * `updateTime&gt;1609459200` to find Cloud resources that were updated after &quot;2021-01-01 00:00:00 UTC&quot;. 1609459200 is the epoch timestamp of &quot;2021-01-01 00:00:00 UTC&quot; in seconds. * `Important` to find Cloud resources that contain &quot;Important&quot; as a word in any of the searchable fields. * `Impor*` to find Cloud resources that contain &quot;Impor&quot; as a prefix of any word in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Cloud resources that contain &quot;Important&quot; as a word in any of the searchable fields and are also located in the &quot;us-west1&quot; region or the &quot;global&quot; location.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/cloudasset_v1beta1.organizations.html b/docs/dyn/cloudasset_v1beta1.organizations.html
index d79dbfc..552d850 100644
--- a/docs/dyn/cloudasset_v1beta1.organizations.html
+++ b/docs/dyn/cloudasset_v1beta1.organizations.html
@@ -249,14 +249,14 @@
             ],
             &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
               { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 },
-                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -267,7 +267,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                     &quot;A String&quot;,
                   ],
                 },
@@ -275,20 +275,20 @@
             ],
             &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
               { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                   &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                     { # The source that IngressPolicy authorizes access from.
-                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                     },
                   ],
                 },
-                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -299,7 +299,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                     &quot;A String&quot;,
                   ],
                 },
@@ -324,14 +324,14 @@
             ],
             &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
               { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 },
-                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -342,7 +342,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                     &quot;A String&quot;,
                   ],
                 },
@@ -350,20 +350,20 @@
             ],
             &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
               { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                   &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                     { # The source that IngressPolicy authorizes access from.
-                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                     },
                   ],
                 },
-                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -374,7 +374,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                     &quot;A String&quot;,
                   ],
                 },
diff --git a/docs/dyn/cloudasset_v1beta1.projects.html b/docs/dyn/cloudasset_v1beta1.projects.html
index 929cc7e..0b85da0 100644
--- a/docs/dyn/cloudasset_v1beta1.projects.html
+++ b/docs/dyn/cloudasset_v1beta1.projects.html
@@ -249,14 +249,14 @@
             ],
             &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
               { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 },
-                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -267,7 +267,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                     &quot;A String&quot;,
                   ],
                 },
@@ -275,20 +275,20 @@
             ],
             &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
               { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                   &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                     { # The source that IngressPolicy authorizes access from.
-                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                     },
                   ],
                 },
-                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -299,7 +299,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                     &quot;A String&quot;,
                   ],
                 },
@@ -324,14 +324,14 @@
             ],
             &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
               { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 },
-                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+                &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -342,7 +342,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                     &quot;A String&quot;,
                   ],
                 },
@@ -350,20 +350,20 @@
             ],
             &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
               { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                   &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                     &quot;A String&quot;,
                   ],
                   &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                   &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                     { # The source that IngressPolicy authorizes access from.
-                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                      &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                     },
                   ],
                 },
-                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                  &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+                &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                  &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                     { # Identification for an API Operation.
                       &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                         { # An allowed method or permission of a service specified in ApiOperation.
@@ -374,7 +374,7 @@
                       &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                     },
                   ],
-                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                  &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                     &quot;A String&quot;,
                   ],
                 },
diff --git a/docs/dyn/cloudasset_v1p5beta1.assets.html b/docs/dyn/cloudasset_v1p5beta1.assets.html
index 30d1786..79e2777 100644
--- a/docs/dyn/cloudasset_v1p5beta1.assets.html
+++ b/docs/dyn/cloudasset_v1p5beta1.assets.html
@@ -254,14 +254,14 @@
           ],
           &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
             { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-              &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+              &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                 &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                   &quot;A String&quot;,
                 ],
                 &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
               },
-              &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+              &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                   { # Identification for an API Operation.
                     &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                       { # An allowed method or permission of a service specified in ApiOperation.
@@ -272,7 +272,7 @@
                     &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                   },
                 ],
-                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                   &quot;A String&quot;,
                 ],
               },
@@ -280,20 +280,20 @@
           ],
           &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
             { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-              &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+              &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                 &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                   &quot;A String&quot;,
                 ],
                 &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                   { # The source that IngressPolicy authorizes access from.
-                    &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                    &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                     &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                   },
                 ],
               },
-              &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+              &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                   { # Identification for an API Operation.
                     &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                       { # An allowed method or permission of a service specified in ApiOperation.
@@ -304,7 +304,7 @@
                     &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                   },
                 ],
-                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                   &quot;A String&quot;,
                 ],
               },
@@ -329,14 +329,14 @@
           ],
           &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
             { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
-              &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+              &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
                 &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
                   &quot;A String&quot;,
                 ],
                 &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
               },
-              &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
-                &quot;operations&quot;: [ # A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.
+              &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
                   { # Identification for an API Operation.
                     &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                       { # An allowed method or permission of a service specified in ApiOperation.
@@ -347,7 +347,7 @@
                     &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                   },
                 ],
-                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that match this to stanza. A request matches if it contains a resource in this list. If `*` is specified for resources, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
                   &quot;A String&quot;,
                 ],
               },
@@ -355,20 +355,20 @@
           ],
           &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
             { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
-              &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+              &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
                 &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
                   &quot;A String&quot;,
                 ],
                 &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
                 &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
                   { # The source that IngressPolicy authorizes access from.
-                    &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If `*` is specified, then all IngressSources will be allowed.
+                    &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
                     &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
                   },
                 ],
               },
-              &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the destination of the request. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
-                &quot;operations&quot;: [ # A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.
+              &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
                   { # Identification for an API Operation.
                     &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
                       { # An allowed method or permission of a service specified in ApiOperation.
@@ -379,7 +379,7 @@
                     &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
                   },
                 ],
-                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.
+                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
                   &quot;A String&quot;,
                 ],
               },
diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.html b/docs/dyn/container_v1beta1.projects.locations.clusters.html
index e56e89d..d718301 100644
--- a/docs/dyn/container_v1beta1.projects.locations.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.locations.clusters.html
@@ -447,6 +447,7 @@
         { # AcceleratorConfig represents a Hardware Accelerator request.
           &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
           &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
         },
       ],
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -532,6 +533,7 @@
             { # AcceleratorConfig represents a Hardware Accelerator request.
               &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
               &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+              &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
             },
           ],
           &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1060,6 +1062,7 @@
       { # AcceleratorConfig represents a Hardware Accelerator request.
         &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
         &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+        &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
       },
     ],
     &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1145,6 +1148,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1576,6 +1580,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1661,6 +1666,7 @@
               { # AcceleratorConfig represents a Hardware Accelerator request.
                 &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
                 &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+                &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
               },
             ],
             &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html b/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html
index 2e2c4a7..602c07b 100644
--- a/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html
+++ b/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html
@@ -140,6 +140,7 @@
         { # AcceleratorConfig represents a Hardware Accelerator request.
           &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
           &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
         },
       ],
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -412,6 +413,7 @@
       { # AcceleratorConfig represents a Hardware Accelerator request.
         &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
         &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+        &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
       },
     ],
     &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -550,6 +552,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html
index c7cdea0..6ecbc67 100644
--- a/docs/dyn/container_v1beta1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html
@@ -555,6 +555,7 @@
         { # AcceleratorConfig represents a Hardware Accelerator request.
           &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
           &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
         },
       ],
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -640,6 +641,7 @@
             { # AcceleratorConfig represents a Hardware Accelerator request.
               &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
               &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+              &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
             },
           ],
           &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1168,6 +1170,7 @@
       { # AcceleratorConfig represents a Hardware Accelerator request.
         &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
         &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+        &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
       },
     ],
     &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1253,6 +1256,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1728,6 +1732,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1813,6 +1818,7 @@
               { # AcceleratorConfig represents a Hardware Accelerator request.
                 &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
                 &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+                &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
               },
             ],
             &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html b/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html
index f6cdb4e..f1c71c3 100644
--- a/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html
@@ -229,6 +229,7 @@
         { # AcceleratorConfig represents a Hardware Accelerator request.
           &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
           &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
         },
       ],
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -501,6 +502,7 @@
       { # AcceleratorConfig represents a Hardware Accelerator request.
         &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
         &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+        &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
       },
     ],
     &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -639,6 +641,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
diff --git a/docs/dyn/displayvideo_v1.advertisers.channels.html b/docs/dyn/displayvideo_v1.advertisers.channels.html
index ef5af20..d4aaf76 100644
--- a/docs/dyn/displayvideo_v1.advertisers.channels.html
+++ b/docs/dyn/displayvideo_v1.advertisers.channels.html
@@ -117,7 +117,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }
 
   partnerId: string, The ID of the partner that owns the created channel.
@@ -134,7 +136,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }</pre>
 </div>
 
@@ -159,7 +163,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }</pre>
 </div>
 
@@ -189,7 +195,9 @@
       &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+      &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
       &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+      &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
     },
   ],
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListChannels` method to retrieve the next page of results.
@@ -225,7 +233,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }
 
   partnerId: string, The ID of the partner that owns the created channel.
@@ -243,7 +253,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }</pre>
 </div>
 
diff --git a/docs/dyn/displayvideo_v1.advertisers.lineItems.html b/docs/dyn/displayvideo_v1.advertisers.lineItems.html
index 85c6f3b..7957e91 100644
--- a/docs/dyn/displayvideo_v1.advertisers.lineItems.html
+++ b/docs/dyn/displayvideo_v1.advertisers.lineItems.html
@@ -1503,7 +1503,7 @@
 
 Args:
   advertiserId: string, Required. The ID of the advertiser to list line items for. (required)
-  filter: string, Allows filtering by line item properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `flight.dateRange.endDate` must be LESS THAN (&lt;). * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (&gt;=)` or `LESS THAN OR EQUAL TO (&lt;=)`. * The operator used on `warningMessages` must be `HAS (:)`. * The operators used on all other fields must be `EQUALS (=)`. * Supported fields: - `campaignId` - `displayName` - `insertionOrderId` - `entityStatus` - `lineItemId` - `lineItemType` - `flight.dateRange.endDate` (input formatted as YYYY-MM-DD) - `warningMessages` - `flight.triggerId` - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) * The operator can be `NO LESS THAN (&gt;=)` or `NO GREATER THAN (&lt;=)`. - `updateTime` (format of ISO 8601) Examples: * All line items under an insertion order: `insertionOrderId=&quot;1234&quot;` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: `(entityStatus=&quot;ENTITY_STATUS_ACTIVE&quot; OR entityStatus=&quot;ENTITY_STATUS_PAUSED&quot;) AND lineItemType=&quot;LINE_ITEM_TYPE_DISPLAY_DEFAULT&quot;` * All line items whose flight dates end before March 28, 2019: `flight.dateRange.endDate&lt;&quot;2019-03-28&quot;` * All line items that have `NO_VALID_CREATIVE` in `warningMessages`: `warningMessages:&quot;NO_VALID_CREATIVE&quot;` * All line items with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime&lt;=&quot;2020-11-04T18:54:47Z&quot;` * All line items with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime&gt;=&quot;2020-11-04T18:54:47Z&quot;` The length of this field should be no more than 500 characters.
+  filter: string, Allows filtering by line item properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `flight.dateRange.endDate` must be LESS THAN (&lt;). * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (&gt;=)` or `LESS THAN OR EQUAL TO (&lt;=)`. * The operator used on `warningMessages` must be `HAS (:)`. * The operators used on all other fields must be `EQUALS (=)`. * Supported properties: - `campaignId` - `displayName` - `insertionOrderId` - `entityStatus` - `lineItemId` - `lineItemType` - `flight.dateRange.endDate` (input formatted as YYYY-MM-DD) - `warningMessages` - `flight.triggerId` - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) - `targetedChannelId` - `targetedNegativeKeywordListId` Examples: * All line items under an insertion order: `insertionOrderId=&quot;1234&quot;` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: `(entityStatus=&quot;ENTITY_STATUS_ACTIVE&quot; OR entityStatus=&quot;ENTITY_STATUS_PAUSED&quot;) AND lineItemType=&quot;LINE_ITEM_TYPE_DISPLAY_DEFAULT&quot;` * All line items whose flight dates end before March 28, 2019: `flight.dateRange.endDate&lt;&quot;2019-03-28&quot;` * All line items that have `NO_VALID_CREATIVE` in `warningMessages`: `warningMessages:&quot;NO_VALID_CREATIVE&quot;` * All line items with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime&lt;=&quot;2020-11-04T18:54:47Z&quot;` * All line items with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime&gt;=&quot;2020-11-04T18:54:47Z&quot;` * All line items that are using both the specified channel and specified negative keyword list in their targeting: `targetedNegativeKeywordListId=789 AND targetedChannelId=12345` The length of this field should be no more than 500 characters.
   orderBy: string, Field by which to sort the list. Acceptable values are: * &quot;displayName&quot; (default) * &quot;entityStatus&quot; * “flight.dateRange.endDate” * &quot;updateTime&quot; The default sorting order is ascending. To specify descending order for a field, a suffix &quot;desc&quot; should be added to the field name. Example: `displayName desc`.
   pageSize: integer, Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.
   pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLineItems` method. If not specified, the first page of results will be returned.
diff --git a/docs/dyn/displayvideo_v1.advertisers.negativeKeywordLists.html b/docs/dyn/displayvideo_v1.advertisers.negativeKeywordLists.html
index d728787..177d203 100644
--- a/docs/dyn/displayvideo_v1.advertisers.negativeKeywordLists.html
+++ b/docs/dyn/displayvideo_v1.advertisers.negativeKeywordLists.html
@@ -120,6 +120,7 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the negative keyword list.
   &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Output only. The unique ID of the negative keyword list. Assigned by the system.
+  &quot;targetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this negative keyword list.
 }
 
   x__xgafv: string, V1 error format.
@@ -135,6 +136,7 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the negative keyword list.
   &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Output only. The unique ID of the negative keyword list. Assigned by the system.
+  &quot;targetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this negative keyword list.
 }</pre>
 </div>
 
@@ -177,6 +179,7 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the negative keyword list.
   &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Output only. The unique ID of the negative keyword list. Assigned by the system.
+  &quot;targetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this negative keyword list.
 }</pre>
 </div>
 
@@ -203,6 +206,7 @@
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the negative keyword list.
       &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Output only. The unique ID of the negative keyword list. Assigned by the system.
+      &quot;targetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this negative keyword list.
     },
   ],
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListNegativeKeywordLists` method to retrieve the next page of results.
@@ -238,6 +242,7 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the negative keyword list.
   &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Output only. The unique ID of the negative keyword list. Assigned by the system.
+  &quot;targetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this negative keyword list.
 }
 
   updateMask: string, Required. The mask to control which fields to update.
@@ -254,6 +259,7 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the negative keyword list.
   &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Output only. The unique ID of the negative keyword list. Assigned by the system.
+  &quot;targetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this negative keyword list.
 }</pre>
 </div>
 
diff --git a/docs/dyn/displayvideo_v1.partners.channels.html b/docs/dyn/displayvideo_v1.partners.channels.html
index 9905577..400aef8 100644
--- a/docs/dyn/displayvideo_v1.partners.channels.html
+++ b/docs/dyn/displayvideo_v1.partners.channels.html
@@ -117,7 +117,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }
 
   advertiserId: string, The ID of the advertiser that owns the created channel.
@@ -134,7 +136,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }</pre>
 </div>
 
@@ -159,7 +163,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }</pre>
 </div>
 
@@ -189,7 +195,9 @@
       &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+      &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
       &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+      &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
     },
   ],
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListChannels` method to retrieve the next page of results.
@@ -225,7 +233,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }
 
   advertiserId: string, The ID of the advertiser that owns the created channel.
@@ -243,7 +253,9 @@
   &quot;channelId&quot;: &quot;A String&quot;, # Output only. The unique ID of the channel. Assigned by the system.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the channel.
+  &quot;negativelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel negatively.
   &quot;partnerId&quot;: &quot;A String&quot;, # The ID of the partner that owns the channel.
+  &quot;positivelyTargetedLineItemCount&quot;: &quot;A String&quot;, # Output only. Number of line items that are directly targeting this channel positively.
 }</pre>
 </div>
 
diff --git a/docs/dyn/essentialcontacts_v1.folders.contacts.html b/docs/dyn/essentialcontacts_v1.folders.contacts.html
new file mode 100644
index 0000000..0f507cb
--- /dev/null
+++ b/docs/dyn/essentialcontacts_v1.folders.contacts.html
@@ -0,0 +1,371 @@
+<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="essentialcontacts_v1.html">Essential Contacts API</a> . <a href="essentialcontacts_v1.folders.html">folders</a> . <a href="essentialcontacts_v1.folders.contacts.html">contacts</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="#compute">compute(parent, notificationCategories=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.</p>
+<p class="toc_element">
+  <code><a href="#compute_next">compute_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="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Adds a new contact for a resource.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a contact.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a single contact.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists the contacts that have been set on a resource.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a contact. Note: A contact's email address cannot be changed.</p>
+<p class="toc_element">
+  <code><a href="#sendTestMessage">sendTestMessage(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Allows a contact admin to send a test message to contact to verify that it has been configured correctly.</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="compute">compute(parent, notificationCategories=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.
+
+Args:
+  parent: string, Required. The name of the resource to compute contacts for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  notificationCategories: string, The categories of notifications to compute contacts for. If ALL is included in this list, contacts subscribed to any notification category will be returned. (repeated)
+    Allowed values
+      NOTIFICATION_CATEGORY_UNSPECIFIED - Notification category is unrecognized or unspecified.
+      ALL - All notifications related to the resource, including notifications pertaining to categories added in the future.
+      SUSPENSION - Notifications related to imminent account suspension.
+      SECURITY - Notifications related to security/privacy incidents, notifications, and vulnerabilities.
+      TECHNICAL - Notifications related to technical events and issues such as outages, errors, or bugs.
+      BILLING - Notifications related to billing and payments notifications, price updates, errors, or credits.
+      LEGAL - Notifications related to enforcement actions, regulatory compliance, or government notices.
+      PRODUCT_UPDATES - Notifications related to new versions, product terms updates, or deprecations.
+      TECHNICAL_INCIDENTS - Child category of TECHNICAL. If assigned, technical incident notifications will go to these contacts instead of TECHNICAL.
+  pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.
+  pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the ComputeContacts method.
+  &quot;contacts&quot;: [ # All contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.
+    { # A contact that will receive notifications from Google Cloud.
+      &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+      &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+      &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+      &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+        &quot;A String&quot;,
+      ],
+      &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+      &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token` and the rest of the parameters the same as the original request.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="compute_next">compute_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Adds a new contact for a resource.
+
+Args:
+  parent: string, Required. The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a contact.
+
+Args:
+  name: string, Required. The name of the contact to delete. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a single contact.
+
+Args:
+  name: string, Required. The name of the contact to retrieve. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists the contacts that have been set on a resource.
+
+Args:
+  parent: string, Required. The parent resource name. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.
+  pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the ListContacts method.
+  &quot;contacts&quot;: [ # The contacts for the specified resource.
+    { # A contact that will receive notifications from Google Cloud.
+      &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+      &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+      &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+      &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+        &quot;A String&quot;,
+      ],
+      &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+      &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token` and the rest of the parameters the same as the original request.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a contact. Note: A contact&#x27;s email address cannot be changed.
+
+Args:
+  name: string, The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}
+
+  updateMask: string, Optional. The update mask applied to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sendTestMessage">sendTestMessage(resource, body=None, x__xgafv=None)</code>
+  <pre>Allows a contact admin to send a test message to contact to verify that it has been configured correctly.
+
+Args:
+  resource: string, Required. The name of the resource to send the test message for. All contacts must either be set directly on this resource or inherited from another resource that is an ancestor of this one. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the SendTestMessage method.
+  &quot;contacts&quot;: [ # Required. The list of names of the contacts to send a test message to. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}
+    &quot;A String&quot;,
+  ],
+  &quot;notificationCategory&quot;: &quot;A String&quot;, # Required. The notification category to send the test message for. All contacts must be subscribed to this category.
+}
+
+  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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/essentialcontacts_v1.folders.html b/docs/dyn/essentialcontacts_v1.folders.html
new file mode 100644
index 0000000..2353ad0
--- /dev/null
+++ b/docs/dyn/essentialcontacts_v1.folders.html
@@ -0,0 +1,91 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="essentialcontacts_v1.html">Essential Contacts API</a> . <a href="essentialcontacts_v1.folders.html">folders</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="essentialcontacts_v1.folders.contacts.html">contacts()</a></code>
+</p>
+<p class="firstline">Returns the contacts 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/essentialcontacts_v1.html b/docs/dyn/essentialcontacts_v1.html
new file mode 100644
index 0000000..c759dd8
--- /dev/null
+++ b/docs/dyn/essentialcontacts_v1.html
@@ -0,0 +1,121 @@
+<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="essentialcontacts_v1.html">Essential Contacts API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="essentialcontacts_v1.folders.html">folders()</a></code>
+</p>
+<p class="firstline">Returns the folders Resource.</p>
+
+<p class="toc_element">
+  <code><a href="essentialcontacts_v1.organizations.html">organizations()</a></code>
+</p>
+<p class="firstline">Returns the organizations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="essentialcontacts_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/essentialcontacts_v1.organizations.contacts.html b/docs/dyn/essentialcontacts_v1.organizations.contacts.html
new file mode 100644
index 0000000..7305553
--- /dev/null
+++ b/docs/dyn/essentialcontacts_v1.organizations.contacts.html
@@ -0,0 +1,371 @@
+<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="essentialcontacts_v1.html">Essential Contacts API</a> . <a href="essentialcontacts_v1.organizations.html">organizations</a> . <a href="essentialcontacts_v1.organizations.contacts.html">contacts</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="#compute">compute(parent, notificationCategories=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.</p>
+<p class="toc_element">
+  <code><a href="#compute_next">compute_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="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Adds a new contact for a resource.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a contact.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a single contact.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists the contacts that have been set on a resource.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a contact. Note: A contact's email address cannot be changed.</p>
+<p class="toc_element">
+  <code><a href="#sendTestMessage">sendTestMessage(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Allows a contact admin to send a test message to contact to verify that it has been configured correctly.</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="compute">compute(parent, notificationCategories=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.
+
+Args:
+  parent: string, Required. The name of the resource to compute contacts for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  notificationCategories: string, The categories of notifications to compute contacts for. If ALL is included in this list, contacts subscribed to any notification category will be returned. (repeated)
+    Allowed values
+      NOTIFICATION_CATEGORY_UNSPECIFIED - Notification category is unrecognized or unspecified.
+      ALL - All notifications related to the resource, including notifications pertaining to categories added in the future.
+      SUSPENSION - Notifications related to imminent account suspension.
+      SECURITY - Notifications related to security/privacy incidents, notifications, and vulnerabilities.
+      TECHNICAL - Notifications related to technical events and issues such as outages, errors, or bugs.
+      BILLING - Notifications related to billing and payments notifications, price updates, errors, or credits.
+      LEGAL - Notifications related to enforcement actions, regulatory compliance, or government notices.
+      PRODUCT_UPDATES - Notifications related to new versions, product terms updates, or deprecations.
+      TECHNICAL_INCIDENTS - Child category of TECHNICAL. If assigned, technical incident notifications will go to these contacts instead of TECHNICAL.
+  pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.
+  pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the ComputeContacts method.
+  &quot;contacts&quot;: [ # All contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.
+    { # A contact that will receive notifications from Google Cloud.
+      &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+      &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+      &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+      &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+        &quot;A String&quot;,
+      ],
+      &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+      &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token` and the rest of the parameters the same as the original request.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="compute_next">compute_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Adds a new contact for a resource.
+
+Args:
+  parent: string, Required. The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a contact.
+
+Args:
+  name: string, Required. The name of the contact to delete. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a single contact.
+
+Args:
+  name: string, Required. The name of the contact to retrieve. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists the contacts that have been set on a resource.
+
+Args:
+  parent: string, Required. The parent resource name. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.
+  pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the ListContacts method.
+  &quot;contacts&quot;: [ # The contacts for the specified resource.
+    { # A contact that will receive notifications from Google Cloud.
+      &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+      &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+      &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+      &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+        &quot;A String&quot;,
+      ],
+      &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+      &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token` and the rest of the parameters the same as the original request.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a contact. Note: A contact&#x27;s email address cannot be changed.
+
+Args:
+  name: string, The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}
+
+  updateMask: string, Optional. The update mask applied to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sendTestMessage">sendTestMessage(resource, body=None, x__xgafv=None)</code>
+  <pre>Allows a contact admin to send a test message to contact to verify that it has been configured correctly.
+
+Args:
+  resource: string, Required. The name of the resource to send the test message for. All contacts must either be set directly on this resource or inherited from another resource that is an ancestor of this one. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the SendTestMessage method.
+  &quot;contacts&quot;: [ # Required. The list of names of the contacts to send a test message to. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}
+    &quot;A String&quot;,
+  ],
+  &quot;notificationCategory&quot;: &quot;A String&quot;, # Required. The notification category to send the test message for. All contacts must be subscribed to this category.
+}
+
+  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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/essentialcontacts_v1.organizations.html b/docs/dyn/essentialcontacts_v1.organizations.html
new file mode 100644
index 0000000..c2eb9d8
--- /dev/null
+++ b/docs/dyn/essentialcontacts_v1.organizations.html
@@ -0,0 +1,91 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="essentialcontacts_v1.html">Essential Contacts API</a> . <a href="essentialcontacts_v1.organizations.html">organizations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="essentialcontacts_v1.organizations.contacts.html">contacts()</a></code>
+</p>
+<p class="firstline">Returns the contacts 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/essentialcontacts_v1.projects.contacts.html b/docs/dyn/essentialcontacts_v1.projects.contacts.html
new file mode 100644
index 0000000..b9aaad2
--- /dev/null
+++ b/docs/dyn/essentialcontacts_v1.projects.contacts.html
@@ -0,0 +1,371 @@
+<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="essentialcontacts_v1.html">Essential Contacts API</a> . <a href="essentialcontacts_v1.projects.html">projects</a> . <a href="essentialcontacts_v1.projects.contacts.html">contacts</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="#compute">compute(parent, notificationCategories=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.</p>
+<p class="toc_element">
+  <code><a href="#compute_next">compute_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="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Adds a new contact for a resource.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a contact.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a single contact.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists the contacts that have been set on a resource.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a contact. Note: A contact's email address cannot be changed.</p>
+<p class="toc_element">
+  <code><a href="#sendTestMessage">sendTestMessage(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Allows a contact admin to send a test message to contact to verify that it has been configured correctly.</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="compute">compute(parent, notificationCategories=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.
+
+Args:
+  parent: string, Required. The name of the resource to compute contacts for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  notificationCategories: string, The categories of notifications to compute contacts for. If ALL is included in this list, contacts subscribed to any notification category will be returned. (repeated)
+    Allowed values
+      NOTIFICATION_CATEGORY_UNSPECIFIED - Notification category is unrecognized or unspecified.
+      ALL - All notifications related to the resource, including notifications pertaining to categories added in the future.
+      SUSPENSION - Notifications related to imminent account suspension.
+      SECURITY - Notifications related to security/privacy incidents, notifications, and vulnerabilities.
+      TECHNICAL - Notifications related to technical events and issues such as outages, errors, or bugs.
+      BILLING - Notifications related to billing and payments notifications, price updates, errors, or credits.
+      LEGAL - Notifications related to enforcement actions, regulatory compliance, or government notices.
+      PRODUCT_UPDATES - Notifications related to new versions, product terms updates, or deprecations.
+      TECHNICAL_INCIDENTS - Child category of TECHNICAL. If assigned, technical incident notifications will go to these contacts instead of TECHNICAL.
+  pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.
+  pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the ComputeContacts method.
+  &quot;contacts&quot;: [ # All contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.
+    { # A contact that will receive notifications from Google Cloud.
+      &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+      &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+      &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+      &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+        &quot;A String&quot;,
+      ],
+      &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+      &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token` and the rest of the parameters the same as the original request.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="compute_next">compute_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Adds a new contact for a resource.
+
+Args:
+  parent: string, Required. The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a contact.
+
+Args:
+  name: string, Required. The name of the contact to delete. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a single contact.
+
+Args:
+  name: string, Required. The name of the contact to retrieve. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists the contacts that have been set on a resource.
+
+Args:
+  parent: string, Required. The parent resource name. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.
+  pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the ListContacts method.
+  &quot;contacts&quot;: [ # The contacts for the specified resource.
+    { # A contact that will receive notifications from Google Cloud.
+      &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+      &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+      &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+      &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+        &quot;A String&quot;,
+      ],
+      &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+      &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token` and the rest of the parameters the same as the original request.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a contact. Note: A contact&#x27;s email address cannot be changed.
+
+Args:
+  name: string, The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}
+
+  updateMask: string, Optional. The update mask applied to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A contact that will receive notifications from Google Cloud.
+  &quot;email&quot;: &quot;A String&quot;, # Required. The email address to send notifications to. This does not need to be a Google account.
+  &quot;languageTag&quot;: &quot;A String&quot;, # The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.
+  &quot;name&quot;: &quot;A String&quot;, # The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}
+  &quot;notificationCategorySubscriptions&quot;: [ # The categories of notifications that the contact will receive communications for.
+    &quot;A String&quot;,
+  ],
+  &quot;validateTime&quot;: &quot;A String&quot;, # The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.
+  &quot;validationState&quot;: &quot;A String&quot;, # The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sendTestMessage">sendTestMessage(resource, body=None, x__xgafv=None)</code>
+  <pre>Allows a contact admin to send a test message to contact to verify that it has been configured correctly.
+
+Args:
+  resource: string, Required. The name of the resource to send the test message for. All contacts must either be set directly on this resource or inherited from another resource that is an ancestor of this one. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the SendTestMessage method.
+  &quot;contacts&quot;: [ # Required. The list of names of the contacts to send a test message to. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}
+    &quot;A String&quot;,
+  ],
+  &quot;notificationCategory&quot;: &quot;A String&quot;, # Required. The notification category to send the test message for. All contacts must be subscribed to this category.
+}
+
+  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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/essentialcontacts_v1.projects.html b/docs/dyn/essentialcontacts_v1.projects.html
new file mode 100644
index 0000000..f585f2d
--- /dev/null
+++ b/docs/dyn/essentialcontacts_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="essentialcontacts_v1.html">Essential Contacts API</a> . <a href="essentialcontacts_v1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="essentialcontacts_v1.projects.contacts.html">contacts()</a></code>
+</p>
+<p class="firstline">Returns the contacts 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/file_v1beta1.projects.locations.instances.html b/docs/dyn/file_v1beta1.projects.locations.instances.html
index 61e77b2..064051a 100644
--- a/docs/dyn/file_v1beta1.projects.locations.instances.html
+++ b/docs/dyn/file_v1beta1.projects.locations.instances.html
@@ -151,7 +151,6 @@
       &quot;reservedIpRange&quot;: &quot;A String&quot;, # A /29 CIDR block for Basic or a /23 CIDR block for High Scale in one of the [internal IP address ranges](https://www.arin.net/knowledge/address_filters.html) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29 or 192.168.0.0/23. The range you specify can&#x27;t overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network.
     },
   ],
-  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The instance state.
   &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. Additional information about the instance state, if available.
   &quot;tier&quot;: &quot;A String&quot;, # The service tier of the instance.
@@ -274,7 +273,6 @@
       &quot;reservedIpRange&quot;: &quot;A String&quot;, # A /29 CIDR block for Basic or a /23 CIDR block for High Scale in one of the [internal IP address ranges](https://www.arin.net/knowledge/address_filters.html) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29 or 192.168.0.0/23. The range you specify can&#x27;t overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network.
     },
   ],
-  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The instance state.
   &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. Additional information about the instance state, if available.
   &quot;tier&quot;: &quot;A String&quot;, # The service tier of the instance.
@@ -339,7 +337,6 @@
           &quot;reservedIpRange&quot;: &quot;A String&quot;, # A /29 CIDR block for Basic or a /23 CIDR block for High Scale in one of the [internal IP address ranges](https://www.arin.net/knowledge/address_filters.html) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29 or 192.168.0.0/23. The range you specify can&#x27;t overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network.
         },
       ],
-      &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
       &quot;state&quot;: &quot;A String&quot;, # Output only. The instance state.
       &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. Additional information about the instance state, if available.
       &quot;tier&quot;: &quot;A String&quot;, # The service tier of the instance.
@@ -413,7 +410,6 @@
       &quot;reservedIpRange&quot;: &quot;A String&quot;, # A /29 CIDR block for Basic or a /23 CIDR block for High Scale in one of the [internal IP address ranges](https://www.arin.net/knowledge/address_filters.html) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29 or 192.168.0.0/23. The range you specify can&#x27;t overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network.
     },
   ],
-  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The instance state.
   &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. Additional information about the instance state, if available.
   &quot;tier&quot;: &quot;A String&quot;, # The service tier of the instance.
diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.global_.features.html b/docs/dyn/gkehub_v1alpha.projects.locations.global_.features.html
index 5bd8d3a..59fe0eb 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.global_.features.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.global_.features.html
@@ -116,7 +116,7 @@
   &quot;labels&quot;: { # GCP labels for this Feature.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
-  &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 number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
       &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
@@ -436,7 +436,7 @@
   &quot;labels&quot;: { # GCP labels for this Feature.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
-  &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 number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
       &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
@@ -696,7 +696,7 @@
       &quot;labels&quot;: { # GCP labels for this Feature.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &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 number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+      &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
         &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
           &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
             &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
@@ -960,7 +960,7 @@
   &quot;labels&quot;: { # GCP labels for this Feature.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
-  &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 number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
       &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
diff --git a/docs/dyn/index.md b/docs/dyn/index.md
index d89d120..ef7fa2f 100644
--- a/docs/dyn/index.md
+++ b/docs/dyn/index.md
@@ -211,10 +211,6 @@
 * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/cloudchannel_v1.html)
 
 
-## cloudcommerceprocurement
-* [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/cloudcommerceprocurement_v1.html)
-
-
 ## clouddebugger
 * [v2](http://googleapis.github.io/google-api-python-client/docs/dyn/clouddebugger_v2.html)
 
@@ -416,6 +412,10 @@
 * [v2](http://googleapis.github.io/google-api-python-client/docs/dyn/driveactivity_v2.html)
 
 
+## essentialcontacts
+* [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/essentialcontacts_v1.html)
+
+
 ## eventarc
 * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/eventarc_v1.html)
 * [v1beta1](http://googleapis.github.io/google-api-python-client/docs/dyn/eventarc_v1beta1.html)
diff --git a/docs/dyn/logging_v2.billingAccounts.buckets.html b/docs/dyn/logging_v2.billingAccounts.buckets.html
index e567d7e..2a04fa4 100644
--- a/docs/dyn/logging_v2.billingAccounts.buckets.html
+++ b/docs/dyn/logging_v2.billingAccounts.buckets.html
@@ -111,6 +111,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
diff --git a/docs/dyn/logging_v2.billingAccounts.locations.buckets.html b/docs/dyn/logging_v2.billingAccounts.locations.buckets.html
index 1586972..6beadf0 100644
--- a/docs/dyn/logging_v2.billingAccounts.locations.buckets.html
+++ b/docs/dyn/logging_v2.billingAccounts.locations.buckets.html
@@ -121,6 +121,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -140,6 +143,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -187,6 +193,9 @@
       &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
       &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+      &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+        &quot;A String&quot;,
+      ],
       &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
     },
@@ -224,6 +233,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -243,6 +255,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
diff --git a/docs/dyn/logging_v2.folders.locations.buckets.html b/docs/dyn/logging_v2.folders.locations.buckets.html
index f9cfe57..135108a 100644
--- a/docs/dyn/logging_v2.folders.locations.buckets.html
+++ b/docs/dyn/logging_v2.folders.locations.buckets.html
@@ -124,6 +124,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -143,6 +146,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -186,6 +192,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -215,6 +224,9 @@
       &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
       &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+      &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+        &quot;A String&quot;,
+      ],
       &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
     },
@@ -252,6 +264,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -271,6 +286,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
diff --git a/docs/dyn/logging_v2.locations.buckets.html b/docs/dyn/logging_v2.locations.buckets.html
index 99d3134..1e501d3 100644
--- a/docs/dyn/logging_v2.locations.buckets.html
+++ b/docs/dyn/logging_v2.locations.buckets.html
@@ -124,6 +124,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -143,6 +146,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -186,6 +192,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -215,6 +224,9 @@
       &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
       &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+      &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+        &quot;A String&quot;,
+      ],
       &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
     },
@@ -252,6 +264,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -271,6 +286,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
diff --git a/docs/dyn/logging_v2.organizations.locations.buckets.html b/docs/dyn/logging_v2.organizations.locations.buckets.html
index a46e18c..5ec17bb 100644
--- a/docs/dyn/logging_v2.organizations.locations.buckets.html
+++ b/docs/dyn/logging_v2.organizations.locations.buckets.html
@@ -124,6 +124,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -143,6 +146,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -186,6 +192,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -215,6 +224,9 @@
       &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
       &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+      &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+        &quot;A String&quot;,
+      ],
       &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
     },
@@ -252,6 +264,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -271,6 +286,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
diff --git a/docs/dyn/logging_v2.projects.locations.buckets.html b/docs/dyn/logging_v2.projects.locations.buckets.html
index 88b4758..1bc9c10 100644
--- a/docs/dyn/logging_v2.projects.locations.buckets.html
+++ b/docs/dyn/logging_v2.projects.locations.buckets.html
@@ -124,6 +124,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -143,6 +146,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -186,6 +192,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
@@ -215,6 +224,9 @@
       &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
       &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+      &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+        &quot;A String&quot;,
+      ],
       &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
     },
@@ -252,6 +264,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }
@@ -271,6 +286,9 @@
   &quot;lifecycleState&quot;: &quot;A String&quot;, # Output only. The bucket lifecycle state.
   &quot;locked&quot;: True or False, # Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the bucket. For example: &quot;projects/my-project-id/locations/my-location/buckets/my-bucket-id&quot; The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.
+  &quot;restrictedFields&quot;: [ # Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated field will restrict all values. Adding a parent will block all child fields e.g. foo.bar will block foo.bar.baz.
+    &quot;A String&quot;,
+  ],
   &quot;retentionDays&quot;: 42, # Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of the bucket.
 }</pre>
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 5783c01..5ba70c3 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html
@@ -294,12 +294,12 @@
       &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?hl=en.
       &quot;datasetId&quot;: &quot;A String&quot;, # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
       &quot;gcsStagingDir&quot;: &quot;A String&quot;, # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
-      &quot;projectId&quot;: &quot;A String&quot;, # The project id (can be project # or id) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project id from the parent request.
+      &quot;projectId&quot;: &quot;A String&quot;, # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
       &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#mcc). 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?hl=en.
-      &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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
+      &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?hl=en.
+      &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;,
       ],
     },
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
index c8946af..c20023e 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
@@ -97,7 +97,7 @@
 
 { # Request message for Predict method.
   &quot;filter&quot;: &quot;A String&quot;, # Filter for restricting prediction results with a length limit of 5,000 characters. Accepts values for tags and the `filterOutOfStockItems` flag. * Tag expressions. Restricts predictions to products that match all of the specified tags. Boolean operators `OR` and `NOT` are supported if the expression is enclosed in parentheses, and must be separated from the tag values by a space. `-&quot;tagA&quot;` is also supported and is equivalent to `NOT &quot;tagA&quot;`. Tag values must be double quoted UTF-8 encoded strings with a size limit of 1,000 characters. Note: &quot;Recently viewed&quot; models don&#x27;t support tag filtering at the moment. * filterOutOfStockItems. Restricts predictions to products that do not have a stockState value of OUT_OF_STOCK. Examples: * tag=(&quot;Red&quot; OR &quot;Blue&quot;) tag=&quot;New-Arrival&quot; tag=(NOT &quot;promotional&quot;) * filterOutOfStockItems tag=(-&quot;promotional&quot;) * filterOutOfStockItems If your filter blocks all prediction results, nothing will be returned. If you want generic (unfiltered) popular products to be returned instead, set `strictFiltering` to false in `PredictRequest.params`.
-  &quot;labels&quot;: { # The labels for the predict request. * Label keys can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * Non-zero label values can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * No more than 64 labels can be associated with a given request. See https://goo.gl/xmQnxf for more information on and examples of labels.
+  &quot;labels&quot;: { # The labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters, and cannot be empty. Values can be empty, and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;pageSize&quot;: 42, # Maximum number of results to return per page. Set this property to the number of prediction results needed. If zero, the service will choose a reasonable default. The maximum allowed value is 100. Values above 100 will be coerced to 100.
@@ -189,7 +189,7 @@
       &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
       &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
   },
   &quot;validateOnly&quot;: True or False, # Use validate only mode for this prediction query. If set to true, a dummy model will be used that returns arbitrary products. Note that the validate only mode should only be used for testing the API, or if the model is not ready.
 }
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
index 75feff0..81d166c 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
@@ -144,12 +144,12 @@
       &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?hl=en.
       &quot;datasetId&quot;: &quot;A String&quot;, # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
       &quot;gcsStagingDir&quot;: &quot;A String&quot;, # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
-      &quot;projectId&quot;: &quot;A String&quot;, # The project id (can be project # or id) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project id from the parent request.
+      &quot;projectId&quot;: &quot;A String&quot;, # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
       &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#mcc). 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?hl=en.
-      &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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
+      &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?hl=en.
+      &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;,
       ],
     },
@@ -239,7 +239,7 @@
             &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
             &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
         },
       ],
     },
@@ -453,7 +453,7 @@
     &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
     &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
 }
 
   x__xgafv: string, V1 error format.
@@ -548,7 +548,7 @@
     &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
     &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
 }</pre>
 </div>
 
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 9d78cac..82cb7df 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html
@@ -294,12 +294,12 @@
       &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?hl=en.
       &quot;datasetId&quot;: &quot;A String&quot;, # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
       &quot;gcsStagingDir&quot;: &quot;A String&quot;, # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
-      &quot;projectId&quot;: &quot;A String&quot;, # The project id (can be project # or id) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project id from the parent request.
+      &quot;projectId&quot;: &quot;A String&quot;, # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
       &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#mcc). 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?hl=en.
-      &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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
+      &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?hl=en.
+      &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;,
       ],
     },
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
index e3872fc..85316ed 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
@@ -97,7 +97,7 @@
 
 { # Request message for Predict method.
   &quot;filter&quot;: &quot;A String&quot;, # Filter for restricting prediction results with a length limit of 5,000 characters. Accepts values for tags and the `filterOutOfStockItems` flag. * Tag expressions. Restricts predictions to products that match all of the specified tags. Boolean operators `OR` and `NOT` are supported if the expression is enclosed in parentheses, and must be separated from the tag values by a space. `-&quot;tagA&quot;` is also supported and is equivalent to `NOT &quot;tagA&quot;`. Tag values must be double quoted UTF-8 encoded strings with a size limit of 1,000 characters. Note: &quot;Recently viewed&quot; models don&#x27;t support tag filtering at the moment. * filterOutOfStockItems. Restricts predictions to products that do not have a stockState value of OUT_OF_STOCK. Examples: * tag=(&quot;Red&quot; OR &quot;Blue&quot;) tag=&quot;New-Arrival&quot; tag=(NOT &quot;promotional&quot;) * filterOutOfStockItems tag=(-&quot;promotional&quot;) * filterOutOfStockItems If your filter blocks all prediction results, nothing will be returned. If you want generic (unfiltered) popular products to be returned instead, set `strictFiltering` to false in `PredictRequest.params`.
-  &quot;labels&quot;: { # The labels for the predict request. * Label keys can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * Non-zero label values can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * No more than 64 labels can be associated with a given request. See https://goo.gl/xmQnxf for more information on and examples of labels.
+  &quot;labels&quot;: { # The labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters, and cannot be empty. Values can be empty, and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;pageSize&quot;: 42, # Maximum number of results to return per page. Set this property to the number of prediction results needed. If zero, the service will choose a reasonable default. The maximum allowed value is 100. Values above 100 will be coerced to 100.
@@ -189,7 +189,7 @@
       &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
       &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
   },
   &quot;validateOnly&quot;: True or False, # Use validate only mode for this prediction query. If set to true, a dummy model will be used that returns arbitrary products. Note that the validate only mode should only be used for testing the API, or if the model is not ready.
 }
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
index 3c6601b..b4b4da8 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
@@ -144,12 +144,12 @@
       &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?hl=en.
       &quot;datasetId&quot;: &quot;A String&quot;, # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
       &quot;gcsStagingDir&quot;: &quot;A String&quot;, # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
-      &quot;projectId&quot;: &quot;A String&quot;, # The project id (can be project # or id) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project id from the parent request.
+      &quot;projectId&quot;: &quot;A String&quot;, # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
       &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#mcc). 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?hl=en.
-      &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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
+      &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?hl=en.
+      &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;,
       ],
     },
@@ -239,7 +239,7 @@
             &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
             &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
         },
       ],
     },
@@ -453,7 +453,7 @@
     &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
     &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
 }
 
   x__xgafv: string, V1 error format.
@@ -548,7 +548,7 @@
     &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
     &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
 }</pre>
 </div>
 
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 87a9551..f839017 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html
@@ -294,12 +294,12 @@
       &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?hl=en.
       &quot;datasetId&quot;: &quot;A String&quot;, # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
       &quot;gcsStagingDir&quot;: &quot;A String&quot;, # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
-      &quot;projectId&quot;: &quot;A String&quot;, # The project id (can be project # or id) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project id from the parent request.
+      &quot;projectId&quot;: &quot;A String&quot;, # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
       &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#mcc). 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?hl=en.
-      &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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
+      &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?hl=en.
+      &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;,
       ],
     },
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
index 066cc0f..1e19977 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
@@ -97,7 +97,7 @@
 
 { # Request message for Predict method.
   &quot;filter&quot;: &quot;A String&quot;, # Filter for restricting prediction results with a length limit of 5,000 characters. Accepts values for tags and the `filterOutOfStockItems` flag. * Tag expressions. Restricts predictions to products that match all of the specified tags. Boolean operators `OR` and `NOT` are supported if the expression is enclosed in parentheses, and must be separated from the tag values by a space. `-&quot;tagA&quot;` is also supported and is equivalent to `NOT &quot;tagA&quot;`. Tag values must be double quoted UTF-8 encoded strings with a size limit of 1,000 characters. Note: &quot;Recently viewed&quot; models don&#x27;t support tag filtering at the moment. * filterOutOfStockItems. Restricts predictions to products that do not have a stockState value of OUT_OF_STOCK. Examples: * tag=(&quot;Red&quot; OR &quot;Blue&quot;) tag=&quot;New-Arrival&quot; tag=(NOT &quot;promotional&quot;) * filterOutOfStockItems tag=(-&quot;promotional&quot;) * filterOutOfStockItems If your filter blocks all prediction results, nothing will be returned. If you want generic (unfiltered) popular products to be returned instead, set `strictFiltering` to false in `PredictRequest.params`.
-  &quot;labels&quot;: { # The labels for the predict request. * Label keys can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * Non-zero label values can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * No more than 64 labels can be associated with a given request. See https://goo.gl/xmQnxf for more information on and examples of labels.
+  &quot;labels&quot;: { # The labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters, and cannot be empty. Values can be empty, and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;pageSize&quot;: 42, # Maximum number of results to return per page. Set this property to the number of prediction results needed. If zero, the service will choose a reasonable default. The maximum allowed value is 100. Values above 100 will be coerced to 100.
@@ -189,7 +189,7 @@
       &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
       &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
   },
   &quot;validateOnly&quot;: True or False, # Use validate only mode for this prediction query. If set to true, a dummy model will be used that returns arbitrary products. Note that the validate only mode should only be used for testing the API, or if the model is not ready.
 }
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
index 322521f..c14b686 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
@@ -144,12 +144,12 @@
       &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?hl=en.
       &quot;datasetId&quot;: &quot;A String&quot;, # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
       &quot;gcsStagingDir&quot;: &quot;A String&quot;, # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
-      &quot;projectId&quot;: &quot;A String&quot;, # The project id (can be project # or id) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project id from the parent request.
+      &quot;projectId&quot;: &quot;A String&quot;, # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
       &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#mcc). 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?hl=en.
-      &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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.
+      &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?hl=en.
+      &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;,
       ],
     },
@@ -239,7 +239,7 @@
             &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
             &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
         },
       ],
     },
@@ -453,7 +453,7 @@
     &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
     &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
 }
 
   x__xgafv: string, V1 error format.
@@ -548,7 +548,7 @@
     &quot;userAgent&quot;: &quot;A String&quot;, # User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.
     &quot;userId&quot;: &quot;A String&quot;, # Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. 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 log in/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 log in/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. The field should not contain PII or user-data. We recommend to use Google Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.
 }</pre>
 </div>
 
diff --git a/docs/dyn/secretmanager_v1.projects.secrets.versions.html b/docs/dyn/secretmanager_v1.projects.secrets.versions.html
index 5c723d4..a0d2143 100644
--- a/docs/dyn/secretmanager_v1.projects.secrets.versions.html
+++ b/docs/dyn/secretmanager_v1.projects.secrets.versions.html
@@ -76,7 +76,7 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#access">access(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.</p>
+<p class="firstline">Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.</p>
 <p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
@@ -91,7 +91,7 @@
 <p class="firstline">Enables a SecretVersion. Sets the state of the SecretVersion to ENABLED.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.</p>
+<p class="firstline">Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.</p>
 <p class="toc_element">
   <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists SecretVersions. This call does not return secret data.</p>
@@ -101,10 +101,10 @@
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="access">access(name, x__xgafv=None)</code>
-  <pre>Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.
+  <pre>Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.
 
 Args:
-  name: string, Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. (required)
+  name: string, Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -263,10 +263,10 @@
 
 <div class="method">
     <code class="details" id="get">get(name, x__xgafv=None)</code>
-  <pre>Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.
+  <pre>Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.
 
 Args:
-  name: string, Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion. (required)
+  name: string, Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/serviceusage_v1.services.html b/docs/dyn/serviceusage_v1.services.html
index 4fd9e46..1b85a75 100644
--- a/docs/dyn/serviceusage_v1.services.html
+++ b/docs/dyn/serviceusage_v1.services.html
@@ -204,7 +204,7 @@
             &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form `major-version.minor-version`, as in `1.10`. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in `v`, as in `google.feature.v1`. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.
           },
         ],
-        &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth # Auth configuration. Contains only the OAuth rules.
+        &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read # Auth configuration. Contains only the OAuth rules.
           &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
             { # Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
               &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, JWTs with audiences: - &quot;https://[service.name]/[google.protobuf.Api.name]&quot; - &quot;https://[service.name]/&quot; will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com
@@ -497,7 +497,7 @@
         &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form `major-version.minor-version`, as in `1.10`. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in `v`, as in `google.feature.v1`. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.
       },
     ],
-    &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth # Auth configuration. Contains only the OAuth rules.
+    &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read # Auth configuration. Contains only the OAuth rules.
       &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
         { # Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
           &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, JWTs with audiences: - &quot;https://[service.name]/[google.protobuf.Api.name]&quot; - &quot;https://[service.name]/&quot; will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com
@@ -705,7 +705,7 @@
             &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form `major-version.minor-version`, as in `1.10`. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in `v`, as in `google.feature.v1`. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.
           },
         ],
-        &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth # Auth configuration. Contains only the OAuth rules.
+        &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read # Auth configuration. Contains only the OAuth rules.
           &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
             { # Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
               &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, JWTs with audiences: - &quot;https://[service.name]/[google.protobuf.Api.name]&quot; - &quot;https://[service.name]/&quot; will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com
diff --git a/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.html b/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.html
index 9aeb0f4..cbb7d47 100644
--- a/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.html
+++ b/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.html
@@ -87,10 +87,10 @@
 <p class="firstline">Retrieves a summary of quota information for a specific quota metric</p>
 <p class="toc_element">
   <code><a href="#importAdminOverrides">importAdminOverrides(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create or update multiple admin overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.</p>
+<p class="firstline">Creates or updates multiple admin overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.</p>
 <p class="toc_element">
   <code><a href="#importConsumerOverrides">importConsumerOverrides(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create or update multiple consumer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.</p>
+<p class="firstline">Creates or updates multiple consumer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.</p>
 <p class="toc_element">
   <code><a href="#list">list(parent, pageSize=None, pageToken=None, view=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves a summary of all quota information visible to the service consumer, organized by service metric. Each metric includes information about all of its defined limits. Each limit includes the limit configuration (quota unit, preciseness, default value), the current effective limit value, and all of the overrides applied to the limit.</p>
@@ -108,7 +108,7 @@
   <pre>Retrieves a summary of quota information for a specific quota metric
 
 Args:
-  name: string, The resource name of the quota limit. An example name would be: projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests (required)
+  name: string, The resource name of the quota limit. An example name would be: `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests` (required)
   view: string, Specifies the level of detail for quota information in the response.
     Allowed values
       QUOTA_VIEW_UNSPECIFIED - No quota view specified. Requests that do not specify a quota view will typically default to the BASIC view.
@@ -132,8 +132,8 @@
       &quot;quotaBuckets&quot;: [ # Summary of the enforced quota buckets, organized by quota dimension, ordered from least specific to most specific (for example, the global default bucket, with no quota dimensions, will always appear first).
         { # A quota bucket is a quota provisioning unit for a specific set of dimensions.
           &quot;adminOverride&quot;: { # A quota override # Admin override on this quota bucket.
-            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -142,8 +142,8 @@
             &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
           },
           &quot;consumerOverride&quot;: { # A quota override # Consumer override on this quota bucket.
-            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -152,13 +152,13 @@
             &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
           },
           &quot;defaultLimit&quot;: &quot;A String&quot;, # The default limit of this quota bucket, as specified by the service configuration.
-          &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key &quot;region&quot; and value &quot;us-east-1&quot;, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
+          &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key `region` and value `us-east-1`, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
             &quot;a_key&quot;: &quot;A String&quot;,
           },
           &quot;effectiveLimit&quot;: &quot;A String&quot;, # The effective limit of this quota bucket. Equal to default_limit if there are no overrides.
           &quot;producerOverride&quot;: { # A quota override # Producer override on this quota bucket.
-            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -180,8 +180,8 @@
       &quot;quotaBuckets&quot;: [ # Summary of the enforced quota buckets, organized by quota dimension, ordered from least specific to most specific (for example, the global default bucket, with no quota dimensions, will always appear first).
         { # A quota bucket is a quota provisioning unit for a specific set of dimensions.
           &quot;adminOverride&quot;: { # A quota override # Admin override on this quota bucket.
-            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -190,8 +190,8 @@
             &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
           },
           &quot;consumerOverride&quot;: { # A quota override # Consumer override on this quota bucket.
-            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -200,13 +200,13 @@
             &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
           },
           &quot;defaultLimit&quot;: &quot;A String&quot;, # The default limit of this quota bucket, as specified by the service configuration.
-          &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key &quot;region&quot; and value &quot;us-east-1&quot;, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
+          &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key `region` and value `us-east-1`, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
             &quot;a_key&quot;: &quot;A String&quot;,
           },
           &quot;effectiveLimit&quot;: &quot;A String&quot;, # The effective limit of this quota bucket. Equal to default_limit if there are no overrides.
           &quot;producerOverride&quot;: { # A quota override # Producer override on this quota bucket.
-            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+            &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+            &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -219,16 +219,16 @@
       &quot;unit&quot;: &quot;A String&quot;, # The limit unit. An example unit would be `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
     },
   ],
-  &quot;displayName&quot;: &quot;A String&quot;, # The display name of the metric. An example name would be: &quot;CPUs&quot;
+  &quot;displayName&quot;: &quot;A String&quot;, # The display name of the metric. An example name would be: `CPUs`
   &quot;metric&quot;: &quot;A String&quot;, # The name of the metric. An example name would be: `compute.googleapis.com/cpus`
-  &quot;name&quot;: &quot;A String&quot;, # The resource name of the quota settings on this metric for this consumer. An example name would be: `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the quota settings on this metric for this consumer. An example name would be: `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.
   &quot;unit&quot;: &quot;A String&quot;, # The units in which the metric value is reported.
 }</pre>
 </div>
 
 <div class="method">
     <code class="details" id="importAdminOverrides">importAdminOverrides(parent, body=None, x__xgafv=None)</code>
-  <pre>Create or update multiple admin overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.
+  <pre>Creates or updates multiple admin overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.
 
 Args:
   parent: string, The resource name of the consumer. An example name would be: `projects/123/services/compute.googleapis.com` (required)
@@ -243,8 +243,8 @@
   &quot;inlineSource&quot;: { # Import data embedded in the request message # The import data is specified in the request message itself
     &quot;overrides&quot;: [ # The overrides to create. Each override must have a value for &#x27;metric&#x27; and &#x27;unit&#x27;, to specify which metric and which limit the override should be applied to. The &#x27;name&#x27; field of the override does not need to be set; it is ignored.
       { # A quota override
-        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -287,7 +287,7 @@
 
 <div class="method">
     <code class="details" id="importConsumerOverrides">importConsumerOverrides(parent, body=None, x__xgafv=None)</code>
-  <pre>Create or update multiple consumer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.
+  <pre>Creates or updates multiple consumer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.
 
 Args:
   parent: string, The resource name of the consumer. An example name would be: `projects/123/services/compute.googleapis.com` (required)
@@ -302,8 +302,8 @@
   &quot;inlineSource&quot;: { # Import data embedded in the request message # The import data is specified in the request message itself
     &quot;overrides&quot;: [ # The overrides to create. Each override must have a value for &#x27;metric&#x27; and &#x27;unit&#x27;, to specify which metric and which limit the override should be applied to. The &#x27;name&#x27; field of the override does not need to be set; it is ignored.
       { # A quota override
-        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -349,7 +349,7 @@
   <pre>Retrieves a summary of all quota information visible to the service consumer, organized by service metric. Each metric includes information about all of its defined limits. Each limit includes the limit configuration (quota unit, preciseness, default value), the current effective limit value, and all of the overrides applied to the limit.
 
 Args:
-  parent: string, Parent of the quotas resource. Some example names would be: projects/123/services/serviceconsumermanagement.googleapis.com folders/345/services/serviceconsumermanagement.googleapis.com organizations/456/services/serviceconsumermanagement.googleapis.com (required)
+  parent: string, Parent of the quotas resource. Some example names would be: `projects/123/services/serviceconsumermanagement.googleapis.com` `folders/345/services/serviceconsumermanagement.googleapis.com` `organizations/456/services/serviceconsumermanagement.googleapis.com` (required)
   pageSize: integer, Requested size of the next page of data.
   pageToken: string, Token identifying which result to start with; returned by a previous list call.
   view: string, Specifies the level of detail for quota information in the response.
@@ -377,8 +377,8 @@
           &quot;quotaBuckets&quot;: [ # Summary of the enforced quota buckets, organized by quota dimension, ordered from least specific to most specific (for example, the global default bucket, with no quota dimensions, will always appear first).
             { # A quota bucket is a quota provisioning unit for a specific set of dimensions.
               &quot;adminOverride&quot;: { # A quota override # Admin override on this quota bucket.
-                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
                   &quot;a_key&quot;: &quot;A String&quot;,
                 },
                 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -387,8 +387,8 @@
                 &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
               },
               &quot;consumerOverride&quot;: { # A quota override # Consumer override on this quota bucket.
-                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
                   &quot;a_key&quot;: &quot;A String&quot;,
                 },
                 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -397,13 +397,13 @@
                 &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
               },
               &quot;defaultLimit&quot;: &quot;A String&quot;, # The default limit of this quota bucket, as specified by the service configuration.
-              &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key &quot;region&quot; and value &quot;us-east-1&quot;, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
+              &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key `region` and value `us-east-1`, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
                 &quot;a_key&quot;: &quot;A String&quot;,
               },
               &quot;effectiveLimit&quot;: &quot;A String&quot;, # The effective limit of this quota bucket. Equal to default_limit if there are no overrides.
               &quot;producerOverride&quot;: { # A quota override # Producer override on this quota bucket.
-                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
                   &quot;a_key&quot;: &quot;A String&quot;,
                 },
                 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -425,8 +425,8 @@
           &quot;quotaBuckets&quot;: [ # Summary of the enforced quota buckets, organized by quota dimension, ordered from least specific to most specific (for example, the global default bucket, with no quota dimensions, will always appear first).
             { # A quota bucket is a quota provisioning unit for a specific set of dimensions.
               &quot;adminOverride&quot;: { # A quota override # Admin override on this quota bucket.
-                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
                   &quot;a_key&quot;: &quot;A String&quot;,
                 },
                 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -435,8 +435,8 @@
                 &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
               },
               &quot;consumerOverride&quot;: { # A quota override # Consumer override on this quota bucket.
-                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
                   &quot;a_key&quot;: &quot;A String&quot;,
                 },
                 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -445,13 +445,13 @@
                 &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
               },
               &quot;defaultLimit&quot;: &quot;A String&quot;, # The default limit of this quota bucket, as specified by the service configuration.
-              &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key &quot;region&quot; and value &quot;us-east-1&quot;, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
+              &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key `region` and value `us-east-1`, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
                 &quot;a_key&quot;: &quot;A String&quot;,
               },
               &quot;effectiveLimit&quot;: &quot;A String&quot;, # The effective limit of this quota bucket. Equal to default_limit if there are no overrides.
               &quot;producerOverride&quot;: { # A quota override # Producer override on this quota bucket.
-                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+                &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+                &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
                   &quot;a_key&quot;: &quot;A String&quot;,
                 },
                 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -464,9 +464,9 @@
           &quot;unit&quot;: &quot;A String&quot;, # The limit unit. An example unit would be `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
         },
       ],
-      &quot;displayName&quot;: &quot;A String&quot;, # The display name of the metric. An example name would be: &quot;CPUs&quot;
+      &quot;displayName&quot;: &quot;A String&quot;, # The display name of the metric. An example name would be: `CPUs`
       &quot;metric&quot;: &quot;A String&quot;, # The name of the metric. An example name would be: `compute.googleapis.com/cpus`
-      &quot;name&quot;: &quot;A String&quot;, # The resource name of the quota settings on this metric for this consumer. An example name would be: `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.
+      &quot;name&quot;: &quot;A String&quot;, # The resource name of the quota settings on this metric for this consumer. An example name would be: `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.
       &quot;unit&quot;: &quot;A String&quot;, # The units in which the metric value is reported.
     },
   ],
diff --git a/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.adminOverrides.html b/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.adminOverrides.html
index 5cce30f..f9d7142 100644
--- a/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.adminOverrides.html
+++ b/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.adminOverrides.html
@@ -108,8 +108,8 @@
     The object takes the form of:
 
 { # A quota override
-  &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-  &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+  &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+  &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -214,8 +214,8 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token identifying which result to start with; returned by a previous list call.
   &quot;overrides&quot;: [ # Admin overrides on this limit.
     { # A quota override
-      &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-      &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+      &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+      &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -251,8 +251,8 @@
     The object takes the form of:
 
 { # A quota override
-  &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-  &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+  &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+  &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
diff --git a/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.consumerOverrides.html b/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.consumerOverrides.html
index 543b3f3..e767a34 100644
--- a/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.consumerOverrides.html
+++ b/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.consumerOverrides.html
@@ -108,8 +108,8 @@
     The object takes the form of:
 
 { # A quota override
-  &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-  &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+  &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+  &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -214,8 +214,8 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token identifying which result to start with; returned by a previous list call.
   &quot;overrides&quot;: [ # Consumer overrides on this limit.
     { # A quota override
-      &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-      &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+      &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+      &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -251,8 +251,8 @@
     The object takes the form of:
 
 { # A quota override
-  &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-  &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+  &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+  &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
diff --git a/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.html b/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.html
index 655ed13..e575daf 100644
--- a/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.html
+++ b/docs/dyn/serviceusage_v1beta1.services.consumerQuotaMetrics.limits.html
@@ -123,8 +123,8 @@
   &quot;quotaBuckets&quot;: [ # Summary of the enforced quota buckets, organized by quota dimension, ordered from least specific to most specific (for example, the global default bucket, with no quota dimensions, will always appear first).
     { # A quota bucket is a quota provisioning unit for a specific set of dimensions.
       &quot;adminOverride&quot;: { # A quota override # Admin override on this quota bucket.
-        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -133,8 +133,8 @@
         &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
       },
       &quot;consumerOverride&quot;: { # A quota override # Consumer override on this quota bucket.
-        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
@@ -143,13 +143,13 @@
         &quot;unit&quot;: &quot;A String&quot;, # The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string.
       },
       &quot;defaultLimit&quot;: &quot;A String&quot;, # The default limit of this quota bucket, as specified by the service configuration.
-      &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key &quot;region&quot; and value &quot;us-east-1&quot;, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
+      &quot;dimensions&quot;: { # The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key `region` and value `us-east-1`, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;effectiveLimit&quot;: &quot;A String&quot;, # The effective limit of this quota bucket. Equal to default_limit if there are no overrides.
       &quot;producerOverride&quot;: { # A quota override # Producer override on this quota bucket.
-        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: &quot;organizations/12345&quot; or &quot;folders/67890&quot;. Used by admin overrides only.
-        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key &quot;region&quot; and the value &quot;us-east-1&quot;; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * &quot;project&quot; is not a valid key; the project is already specified in the parent resource name. * &quot;user&quot; is not a valid key; the API does not support quota overrides that apply only to a specific user. * If &quot;region&quot; appears as a key, its value must be a valid Cloud region. * If &quot;zone&quot; appears as a key, its value must be a valid Cloud zone. * If any valid key other than &quot;region&quot; or &quot;zone&quot; appears in the map, then all valid keys other than &quot;region&quot; or &quot;zone&quot; must also appear in the map.
+        &quot;adminOverrideAncestor&quot;: &quot;A String&quot;, # The resource name of the ancestor that requested the override. For example: `organizations/12345` or `folders/67890`. Used by admin overrides only.
+        &quot;dimensions&quot;: { # If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit&#x27;s unit are not valid keys. Any string appearing in `{brackets}` in the unit (besides `{project}` or `{user}`) is a defined key. * `project` is not a valid key; the project is already specified in the parent resource name. * `user` is not a valid key; the API does not support quota overrides that apply only to a specific user. * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * If any valid key other than `region` or `zone` appears in the map, then all valid keys other than `region` or `zone` must also appear in the map.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;metric&quot;: &quot;A String&quot;, # The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`
diff --git a/docs/dyn/serviceusage_v1beta1.services.html b/docs/dyn/serviceusage_v1beta1.services.html
index 023e1b8..20b8d62 100644
--- a/docs/dyn/serviceusage_v1beta1.services.html
+++ b/docs/dyn/serviceusage_v1beta1.services.html
@@ -81,32 +81,32 @@
 
 <p class="toc_element">
   <code><a href="#batchEnable">batchEnable(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. Operation</p>
+<p class="firstline">Enables multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. Operation response type: `google.protobuf.Empty`</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="#disable">disable(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. Operation</p>
+<p class="firstline">Disables a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. Operation response type: `google.protobuf.Empty`</p>
 <p class="toc_element">
   <code><a href="#enable">enable(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Enable a service so that it can be used with a project. Operation</p>
+<p class="firstline">Enables a service so that it can be used with a project. Operation response type: `google.protobuf.Empty`</p>
 <p class="toc_element">
   <code><a href="#generateServiceIdentity">generateServiceIdentity(parent, x__xgafv=None)</a></code></p>
-<p class="firstline">Generate service identity for service.</p>
+<p class="firstline">Generates service identity for service.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns the service configuration and enabled state for a given service.</p>
 <p class="toc_element">
   <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
-<p class="firstline">List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.</p>
+<p class="firstline">Lists all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="batchEnable">batchEnable(parent, body=None, x__xgafv=None)</code>
-  <pre>Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. Operation
+  <pre>Enables multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. Operation response type: `google.protobuf.Empty`
 
 Args:
   parent: string, Parent to enable services on. An example name would be: `projects/123` where `123` is the project number (not project ID). The `BatchEnableServices` method currently only supports projects. (required)
@@ -155,7 +155,7 @@
 
 <div class="method">
     <code class="details" id="disable">disable(name, body=None, x__xgafv=None)</code>
-  <pre>Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. Operation
+  <pre>Disables a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. Operation response type: `google.protobuf.Empty`
 
 Args:
   name: string, Name of the consumer and service to disable the service on. The enable and disable methods currently only support projects. An example name would be: `projects/123/services/serviceusage.googleapis.com` where `123` is the project number (not project ID). (required)
@@ -196,7 +196,7 @@
 
 <div class="method">
     <code class="details" id="enable">enable(name, body=None, x__xgafv=None)</code>
-  <pre>Enable a service so that it can be used with a project. Operation
+  <pre>Enables a service so that it can be used with a project. Operation response type: `google.protobuf.Empty`
 
 Args:
   name: string, Name of the consumer and service to enable the service on. The `EnableService` and `DisableService` methods currently only support projects. Enabling a service requires that the service is public or is shared with the user enabling the service. An example name would be: `projects/123/services/serviceusage.googleapis.com` where `123` is the project number (not project ID). (required)
@@ -237,7 +237,7 @@
 
 <div class="method">
     <code class="details" id="generateServiceIdentity">generateServiceIdentity(parent, x__xgafv=None)</code>
-  <pre>Generate service identity for service.
+  <pre>Generates service identity for service.
 
 Args:
   parent: string, Name of the consumer and service to generate an identity for. The `GenerateServiceIdentity` methods currently only support projects. An example name would be: `projects/123/services/example.googleapis.com` where `123` is the project number. (required)
@@ -328,7 +328,7 @@
         &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form `major-version.minor-version`, as in `1.10`. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in `v`, as in `google.feature.v1`. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.
       },
     ],
-    &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth # Auth configuration. Contains only the OAuth rules.
+    &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read # Auth configuration. Contains only the OAuth rules.
       &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
         { # Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
           &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, JWTs with audiences: - &quot;https://[service.name]/[google.protobuf.Api.name]&quot; - &quot;https://[service.name]/&quot; will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com
@@ -466,15 +466,15 @@
       ],
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service. A valid name would be: - projects/123/services/serviceusage.googleapis.com
-  &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer. A valid name would be: - projects/123
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service. A valid name would be: - `projects/123/services/serviceusage.googleapis.com`
+  &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer. A valid name would be: - `projects/123`
   &quot;state&quot;: &quot;A String&quot;, # Whether or not the service has been enabled for use by the consumer.
 }</pre>
 </div>
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.
+  <pre>Lists all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.
 
 Args:
   parent: string, Parent to search for services on. An example name would be: `projects/123` where `123` is the project number (not project ID). (required)
@@ -536,7 +536,7 @@
             &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form `major-version.minor-version`, as in `1.10`. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in `v`, as in `google.feature.v1`. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.
           },
         ],
-        &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth # Auth configuration. Contains only the OAuth rules.
+        &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: &quot;*&quot; requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read # Auth configuration. Contains only the OAuth rules.
           &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
             { # Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
               &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, JWTs with audiences: - &quot;https://[service.name]/[google.protobuf.Api.name]&quot; - &quot;https://[service.name]/&quot; will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com
@@ -674,8 +674,8 @@
           ],
         },
       },
-      &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service. A valid name would be: - projects/123/services/serviceusage.googleapis.com
-      &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer. A valid name would be: - projects/123
+      &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service. A valid name would be: - `projects/123/services/serviceusage.googleapis.com`
+      &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer. A valid name would be: - `projects/123`
       &quot;state&quot;: &quot;A String&quot;, # Whether or not the service has been enabled for use by the consumer.
     },
   ],
