diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html
index fcd1819..c7633a2 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html
@@ -83,6 +83,12 @@
 <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="#pause">pause(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update given deals to pause serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, please call accounts.proposals.pause endpoint. It is a no-op to pause already-paused deals. It is an error to call PauseProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.</p>
+<p class="toc_element">
+  <code><a href="#resume">resume(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update given deals to resume serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, please call accounts.proposals.resume endpoint. It is a no-op to resume already-running deals. It is an error to call ResumeProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -513,4 +519,819 @@
     </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="pause">pause(accountId, proposalId, body=None, x__xgafv=None)</code>
+  <pre>Update given deals to pause serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, please call accounts.proposals.pause endpoint. It is a no-op to pause already-paused deals. It is an error to call PauseProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The proposal_id of the proposal containing the deals. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message to pause serving for finalized deals.
+  &quot;externalDealIds&quot;: [ # The external_deal_id&#x27;s of the deals to be paused. If empty, all the deals in the proposal will be paused.
+    &quot;A String&quot;,
+  ],
+  &quot;reason&quot;: &quot;A String&quot;, # The reason why the deals are being paused. This human readable message will be displayed in the seller&#x27;s UI. (Max length: 1000 unicode code units.)
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Note: You can&#x27;t update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
+  &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
+    &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+  },
+  &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Reference to the buyer on the proposal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+    &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+  },
+  &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+    { # Contains information on how a buyer or seller can be reached.
+      &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+    },
+  ],
+  &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+    &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
+  },
+  &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+    { # A deal represents a segment of inventory for displaying ads on. A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
+      &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal. This will generally be stored in a granularity of a second. A value is not required for Private Auction deals or Preferred Deals.
+      &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional. Proposed flight start time of the deal. This will generally be stored in the granularity of one second since deal serving starts at seconds boundary. Any time specified with more granularity (e.g., in milliseconds) will be truncated towards the start of time in seconds.
+      &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+        &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
+      },
+      &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+      &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional. Revision number of the product that the deal was created from. If present on create, and the server `product_revision` has advanced since the passed-in `create_product_revision`, an `ABORTED` error will be returned. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+      &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+      &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn&#x27;t apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
+        &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+        &quot;creativeSpecifications&quot;: [
+          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
+            &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+            },
+          },
+        ],
+        &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
+      },
+      &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+      &quot;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+      &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+        &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
+          &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+          &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+          &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
+          &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+          &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+        },
+      },
+      &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (e.g., fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
+        &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+        &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+        &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal. Can be set by buyer or seller.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+          &quot;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+        },
+        &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
+        &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+          &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+            },
+          ],
+          &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.
+          &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+            },
+          ],
+        },
+        &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
+          &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+            },
+          ],
+        },
+        &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the time zone used to mark the boundaries of a day. It should be an IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+      },
+      &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher.
+        &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
+        &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+        &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
+          { # Frequency cap.
+            &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the specified time period.
+            &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the amount of time over which impressions per user are counted and capped.
+            &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over which impressions per user are counted and capped.
+          },
+        ],
+      },
+      &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
+      &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+      &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is finalized. This is the deal ID that shows up in serving/reporting etc.
+      &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
+      &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals. PUBLISHER means creative is provided by seller and ADVERTISER means creative is provided by buyer.
+      &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+      &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+        { # Contains information on how a buyer or seller can be reached.
+          &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+        },
+      ],
+      &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+      &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to target ad inventory. For example, they can choose to target ad requests only if the user is in the US. Multiple types of targeting are always applied as a logical AND, unless noted otherwise. # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
+          &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+            &quot;A String&quot;,
+          ],
+          &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad request. It only applies to Private Auction, AdX Preferred Deals and Auction Packages. This targeting does not apply to Programmatic Guaranteed and Preferred Deals in Ad Manager. # Inventory sizes to be included/excluded.
+          &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+            { # Represents size of a single ad slot, or a creative.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+            },
+          ],
+          &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+            { # Represents size of a single ad slot, or a creative.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+            },
+          ],
+        },
+        &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or mobile applications. Different placement targeting types will be logically OR&#x27;ed. # Placement targeting information, e.g., URL, mobile applications.
+          &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn&#x27;t apply to Auction Packages.
+            &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that publishers own. Mobile application IDs are from App Store and Google Play Store. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
+              &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+              &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t apply. # URLs to be included/excluded.
+            &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+              &quot;A String&quot;,
+            ],
+            &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+              &quot;A String&quot;,
+            ],
+          },
+        },
+        &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+          &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+            &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+        },
+        &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+          &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded. Position types can either be included or excluded (XOR).
+            &quot;A String&quot;,
+          ],
+          &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included. When the included list is present, the excluded list must be empty. When the excluded list is present, the included list must be empty.
+            &quot;A String&quot;,
+          ],
+        },
+      },
+      &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND&#x27;d together.
+        { # Advertisers can target different attributes of an ad slot. For example, they can choose to show ads only if the user is in the U.S. Such targeting criteria can be specified as part of Shared Targeting.
+          &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
+                &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).
+                  &quot;A String&quot;,
+                ],
+                &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                ],
+                &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
+                &quot;size&quot;: { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
+                  &quot;height&quot;: 42, # The height of the creative.
+                  &quot;width&quot;: 42, # The width of the creative
+                },
+                &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
+              },
+              &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager.
+                &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.
+                    &quot;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                    &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries.
+                      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                    &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries.
+                      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                  },
+                ],
+                &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+              },
+              &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+              &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+            },
+          ],
+          &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
+                &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).
+                  &quot;A String&quot;,
+                ],
+                &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                ],
+                &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
+                &quot;size&quot;: { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
+                  &quot;height&quot;: 42, # The height of the creative.
+                  &quot;width&quot;: 42, # The width of the creative
+                },
+                &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
+              },
+              &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager.
+                &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.
+                    &quot;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                    &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries.
+                      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                    &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries.
+                      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                  },
+                ],
+                &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+              },
+              &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+              &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+            },
+          ],
+          &quot;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion. Targeting criteria defined by Google ad servers will begin with GOOG_. Third parties may define their own keys. A list of permissible keys along with the acceptable values will be provided as part of the external documentation.
+        },
+      ],
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+      &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+    },
+  ],
+  &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+  &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+  &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
+  &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or left a comment.
+  &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+    { # A proposal may be associated to several notes.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+      &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      &quot;note&quot;: &quot;A String&quot;, # The actual note to attach. (max-length: 1024 unicode code units) Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+      &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+      &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+    },
+  ],
+  &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+  &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction proposal.
+  &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+  &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal. Each update to the proposal or the deal causes the proposal revision number to auto-increment. The buyer keeps track of the last revision number they know of and pass it in when making an update. If the head revision number on the server has since incremented, then an ABORTED error is returned during the update operation to let the buyer know that a subsequent update was made.
+  &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+  &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # Reference to the seller on the proposal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+    &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field. The seller account ID is then available to buyer in the product.
+    &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+  },
+  &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+    { # Contains information on how a buyer or seller can be reached.
+      &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+    },
+  ],
+  &quot;termsAndConditions&quot;: &quot;A String&quot;, # Output only. The terms and conditions set by the publisher for this proposal.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resume">resume(accountId, proposalId, body=None, x__xgafv=None)</code>
+  <pre>Update given deals to resume serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, please call accounts.proposals.resume endpoint. It is a no-op to resume already-running deals. It is an error to call ResumeProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The proposal_id of the proposal containing the deals. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message to resume (unpause) serving for already-finalized deals.
+  &quot;externalDealIds&quot;: [ # The external_deal_id&#x27;s of the deals to resume. If empty, all the deals in the proposal will be resumed.
+    &quot;A String&quot;,
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Note: You can&#x27;t update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
+  &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
+    &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+  },
+  &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Reference to the buyer on the proposal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+    &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+  },
+  &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+    { # Contains information on how a buyer or seller can be reached.
+      &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+    },
+  ],
+  &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+    &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
+  },
+  &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+    { # A deal represents a segment of inventory for displaying ads on. A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
+      &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal. This will generally be stored in a granularity of a second. A value is not required for Private Auction deals or Preferred Deals.
+      &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional. Proposed flight start time of the deal. This will generally be stored in the granularity of one second since deal serving starts at seconds boundary. Any time specified with more granularity (e.g., in milliseconds) will be truncated towards the start of time in seconds.
+      &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+        &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
+      },
+      &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+      &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional. Revision number of the product that the deal was created from. If present on create, and the server `product_revision` has advanced since the passed-in `create_product_revision`, an `ABORTED` error will be returned. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+      &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+      &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn&#x27;t apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
+        &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+        &quot;creativeSpecifications&quot;: [
+          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
+            &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+            },
+          },
+        ],
+        &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
+      },
+      &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+      &quot;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+      &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+        &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
+          &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+          &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+          &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
+          &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+          &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+        },
+      },
+      &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (e.g., fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
+        &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+        &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+        &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal. Can be set by buyer or seller.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+          &quot;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+        },
+        &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
+        &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+          &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+            },
+          ],
+          &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.
+          &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+            },
+          ],
+        },
+        &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
+          &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+            },
+          ],
+        },
+        &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the time zone used to mark the boundaries of a day. It should be an IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+      },
+      &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher.
+        &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
+        &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+        &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
+          { # Frequency cap.
+            &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the specified time period.
+            &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the amount of time over which impressions per user are counted and capped.
+            &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over which impressions per user are counted and capped.
+          },
+        ],
+      },
+      &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
+      &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+      &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is finalized. This is the deal ID that shows up in serving/reporting etc.
+      &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
+      &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals. PUBLISHER means creative is provided by seller and ADVERTISER means creative is provided by buyer.
+      &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+      &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+        { # Contains information on how a buyer or seller can be reached.
+          &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+        },
+      ],
+      &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+      &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to target ad inventory. For example, they can choose to target ad requests only if the user is in the US. Multiple types of targeting are always applied as a logical AND, unless noted otherwise. # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
+          &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+            &quot;A String&quot;,
+          ],
+          &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad request. It only applies to Private Auction, AdX Preferred Deals and Auction Packages. This targeting does not apply to Programmatic Guaranteed and Preferred Deals in Ad Manager. # Inventory sizes to be included/excluded.
+          &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+            { # Represents size of a single ad slot, or a creative.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+            },
+          ],
+          &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+            { # Represents size of a single ad slot, or a creative.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
+            },
+          ],
+        },
+        &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or mobile applications. Different placement targeting types will be logically OR&#x27;ed. # Placement targeting information, e.g., URL, mobile applications.
+          &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn&#x27;t apply to Auction Packages.
+            &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that publishers own. Mobile application IDs are from App Store and Google Play Store. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
+              &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+              &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t apply. # URLs to be included/excluded.
+            &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+              &quot;A String&quot;,
+            ],
+            &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+              &quot;A String&quot;,
+            ],
+          },
+        },
+        &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+          &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+            &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+        },
+        &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+          &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded. Position types can either be included or excluded (XOR).
+            &quot;A String&quot;,
+          ],
+          &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included. When the included list is present, the excluded list must be empty. When the excluded list is present, the included list must be empty.
+            &quot;A String&quot;,
+          ],
+        },
+      },
+      &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND&#x27;d together.
+        { # Advertisers can target different attributes of an ad slot. For example, they can choose to show ads only if the user is in the U.S. Such targeting criteria can be specified as part of Shared Targeting.
+          &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
+                &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).
+                  &quot;A String&quot;,
+                ],
+                &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                ],
+                &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
+                &quot;size&quot;: { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
+                  &quot;height&quot;: 42, # The height of the creative.
+                  &quot;width&quot;: 42, # The width of the creative
+                },
+                &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
+              },
+              &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager.
+                &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.
+                    &quot;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                    &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries.
+                      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                    &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries.
+                      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                  },
+                ],
+                &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+              },
+              &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+              &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+            },
+          ],
+          &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
+                &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).
+                  &quot;A String&quot;,
+                ],
+                &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                ],
+                &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
+                &quot;size&quot;: { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
+                  &quot;height&quot;: 42, # The height of the creative.
+                  &quot;width&quot;: 42, # The width of the creative
+                },
+                &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
+              },
+              &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager.
+                &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.
+                    &quot;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                    &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries.
+                      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                    &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries.
+                      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                  },
+                ],
+                &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+              },
+              &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+              &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+            },
+          ],
+          &quot;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion. Targeting criteria defined by Google ad servers will begin with GOOG_. Third parties may define their own keys. A list of permissible keys along with the acceptable values will be provided as part of the external documentation.
+        },
+      ],
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+      &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+    },
+  ],
+  &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+  &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+  &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
+  &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or left a comment.
+  &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+    { # A proposal may be associated to several notes.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+      &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      &quot;note&quot;: &quot;A String&quot;, # The actual note to attach. (max-length: 1024 unicode code units) Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+      &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+      &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+    },
+  ],
+  &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+  &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction proposal.
+  &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+  &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal. Each update to the proposal or the deal causes the proposal revision number to auto-increment. The buyer keeps track of the last revision number they know of and pass it in when making an update. If the head revision number on the server has since incremented, then an ABORTED error is returned during the update operation to let the buyer know that a subsequent update was made.
+  &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+  &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # Reference to the seller on the proposal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
+    &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field. The seller account ID is then available to buyer in the product.
+    &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+  },
+  &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+    { # Contains information on how a buyer or seller can be reached.
+      &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+    },
+  ],
+  &quot;termsAndConditions&quot;: &quot;A String&quot;, # Output only. The terms and conditions set by the publisher for this proposal.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/alertcenter_v1beta1.alerts.feedback.html b/docs/dyn/alertcenter_v1beta1.alerts.feedback.html
index 8f079e0..793a0d9 100644
--- a/docs/dyn/alertcenter_v1beta1.alerts.feedback.html
+++ b/docs/dyn/alertcenter_v1beta1.alerts.feedback.html
@@ -133,7 +133,7 @@
 Args:
   alertId: string, Required. The alert identifier. The &quot;-&quot; wildcard could be used to represent all alerts. (required)
   customerId: string, Optional. The unique identifier of the Google Workspace organization account of the customer the alert feedback are associated with. Inferred from the caller identity if not provided.
-  filter: string, Optional. A query string for filtering alert feedback results. For more details, see [Query filters](https://developers.google.com/admin-sdk/alertcenter/guides/query-filters) and [Supported query filter fields](https://developers.google.com/admin-sdk/alertcenter/reference/filter-fields#alerts.feedback.list).
+  filter: string, Optional. A query string for filtering alert feedback results. For more details, see [Query filters](/admin-sdk/alertcenter/guides/query-filters) and [Supported query filter fields](/admin-sdk/alertcenter/reference/filter-fields#alerts.feedback.list).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/alertcenter_v1beta1.alerts.html b/docs/dyn/alertcenter_v1beta1.alerts.html
index 42660ab..6c8c329 100644
--- a/docs/dyn/alertcenter_v1beta1.alerts.html
+++ b/docs/dyn/alertcenter_v1beta1.alerts.html
@@ -250,7 +250,7 @@
   &quot;securityInvestigationToolLink&quot;: &quot;A String&quot;, # Output only. An optional [Security Investigation Tool](https://support.google.com/a/answer/7575955) query for this alert.
   &quot;source&quot;: &quot;A String&quot;, # Required. A unique identifier for the system that reported the alert. This is output only after alert is created. Supported sources are any of the following: * Google Operations * Mobile device management * Gmail phishing * Domain wide takeout * State sponsored attack * Google identity
   &quot;startTime&quot;: &quot;A String&quot;, # Required. The time the event that caused this alert was started or detected.
-  &quot;type&quot;: &quot;A String&quot;, # Required. The type of the alert. This is output only after alert is created. For a list of available alert types see [Google Workspace Alert types](https://developers.google.com/admin-sdk/alertcenter/reference/alert-types).
+  &quot;type&quot;: &quot;A String&quot;, # Required. The type of the alert. This is output only after alert is created. For a list of available alert types see [Google Workspace Alert types](/admin-sdk/alertcenter/reference/alert-types).
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this alert was last updated.
 }</pre>
 </div>
@@ -287,7 +287,7 @@
 
 Args:
   customerId: string, Optional. The unique identifier of the Google Workspace organization account of the customer the alerts are associated with. Inferred from the caller identity if not provided.
-  filter: string, Optional. A query string for filtering alert results. For more details, see [Query filters](https://developers.google.com/admin-sdk/alertcenter/guides/query-filters) and [Supported query filter fields](https://developers.google.com/admin-sdk/alertcenter/reference/filter-fields#alerts.list).
+  filter: string, Optional. A query string for filtering alert results. For more details, see [Query filters](/admin-sdk/alertcenter/guides/query-filters) and [Supported query filter fields](/admin-sdk/alertcenter/reference/filter-fields#alerts.list).
   orderBy: string, Optional. The sort order of the list results. If not specified results may be returned in arbitrary order. You can sort the results in descending order based on the creation timestamp using `order_by=&quot;create_time desc&quot;`. Currently, supported sorting are `create_time asc`, `create_time desc`, `update_time desc`
   pageSize: integer, Optional. The requested page size. Server may return fewer items than requested. If unspecified, server picks an appropriate default.
   pageToken: string, Optional. A token identifying a page of results the server should return. If empty, a new iteration is started. To continue an iteration, pass in the value from the previous ListAlertsResponse&#x27;s next_page_token field.
@@ -323,7 +323,7 @@
       &quot;securityInvestigationToolLink&quot;: &quot;A String&quot;, # Output only. An optional [Security Investigation Tool](https://support.google.com/a/answer/7575955) query for this alert.
       &quot;source&quot;: &quot;A String&quot;, # Required. A unique identifier for the system that reported the alert. This is output only after alert is created. Supported sources are any of the following: * Google Operations * Mobile device management * Gmail phishing * Domain wide takeout * State sponsored attack * Google identity
       &quot;startTime&quot;: &quot;A String&quot;, # Required. The time the event that caused this alert was started or detected.
-      &quot;type&quot;: &quot;A String&quot;, # Required. The type of the alert. This is output only after alert is created. For a list of available alert types see [Google Workspace Alert types](https://developers.google.com/admin-sdk/alertcenter/reference/alert-types).
+      &quot;type&quot;: &quot;A String&quot;, # Required. The type of the alert. This is output only after alert is created. For a list of available alert types see [Google Workspace Alert types](/admin-sdk/alertcenter/reference/alert-types).
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this alert was last updated.
     },
   ],
@@ -388,7 +388,7 @@
   &quot;securityInvestigationToolLink&quot;: &quot;A String&quot;, # Output only. An optional [Security Investigation Tool](https://support.google.com/a/answer/7575955) query for this alert.
   &quot;source&quot;: &quot;A String&quot;, # Required. A unique identifier for the system that reported the alert. This is output only after alert is created. Supported sources are any of the following: * Google Operations * Mobile device management * Gmail phishing * Domain wide takeout * State sponsored attack * Google identity
   &quot;startTime&quot;: &quot;A String&quot;, # Required. The time the event that caused this alert was started or detected.
-  &quot;type&quot;: &quot;A String&quot;, # Required. The type of the alert. This is output only after alert is created. For a list of available alert types see [Google Workspace Alert types](https://developers.google.com/admin-sdk/alertcenter/reference/alert-types).
+  &quot;type&quot;: &quot;A String&quot;, # Required. The type of the alert. This is output only after alert is created. For a list of available alert types see [Google Workspace Alert types](/admin-sdk/alertcenter/reference/alert-types).
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this alert was last updated.
 }</pre>
 </div>
diff --git a/docs/dyn/alertcenter_v1beta1.v1beta1.html b/docs/dyn/alertcenter_v1beta1.v1beta1.html
index 06e5c39..57f57f0 100644
--- a/docs/dyn/alertcenter_v1beta1.v1beta1.html
+++ b/docs/dyn/alertcenter_v1beta1.v1beta1.html
@@ -105,7 +105,7 @@
 
     { # Customer-level settings.
   &quot;notifications&quot;: [ # The list of notifications.
-    { # Settings for callback notifications. For more details see [Google Workspace Alert Notification](https://developers.google.com/admin-sdk/alertcenter/guides/notifications).
+    { # Settings for callback notifications. For more details see [Google Workspace Alert Notification](/admin-sdk/alertcenter/guides/notifications).
       &quot;cloudPubsubTopic&quot;: { # A reference to a Cloud Pubsub topic. To register for notifications, the owner of the topic must grant `alerts-api-push-notifications@system.gserviceaccount.com` the `projects.topics.publish` permission. # A Google Cloud Pub/sub topic destination.
         &quot;payloadFormat&quot;: &quot;A String&quot;, # Optional. The format of the payload that would be sent. If not specified the format will be JSON.
         &quot;topicName&quot;: &quot;A String&quot;, # The `name` field of a Cloud Pubsub [Topic] (https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
@@ -125,7 +125,7 @@
 
 { # Customer-level settings.
   &quot;notifications&quot;: [ # The list of notifications.
-    { # Settings for callback notifications. For more details see [Google Workspace Alert Notification](https://developers.google.com/admin-sdk/alertcenter/guides/notifications).
+    { # Settings for callback notifications. For more details see [Google Workspace Alert Notification](/admin-sdk/alertcenter/guides/notifications).
       &quot;cloudPubsubTopic&quot;: { # A reference to a Cloud Pubsub topic. To register for notifications, the owner of the topic must grant `alerts-api-push-notifications@system.gserviceaccount.com` the `projects.topics.publish` permission. # A Google Cloud Pub/sub topic destination.
         &quot;payloadFormat&quot;: &quot;A String&quot;, # Optional. The format of the payload that would be sent. If not specified the format will be JSON.
         &quot;topicName&quot;: &quot;A String&quot;, # The `name` field of a Cloud Pubsub [Topic] (https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
@@ -145,7 +145,7 @@
 
     { # Customer-level settings.
   &quot;notifications&quot;: [ # The list of notifications.
-    { # Settings for callback notifications. For more details see [Google Workspace Alert Notification](https://developers.google.com/admin-sdk/alertcenter/guides/notifications).
+    { # Settings for callback notifications. For more details see [Google Workspace Alert Notification](/admin-sdk/alertcenter/guides/notifications).
       &quot;cloudPubsubTopic&quot;: { # A reference to a Cloud Pubsub topic. To register for notifications, the owner of the topic must grant `alerts-api-push-notifications@system.gserviceaccount.com` the `projects.topics.publish` permission. # A Google Cloud Pub/sub topic destination.
         &quot;payloadFormat&quot;: &quot;A String&quot;, # Optional. The format of the payload that would be sent. If not specified the format will be JSON.
         &quot;topicName&quot;: &quot;A String&quot;, # The `name` field of a Cloud Pubsub [Topic] (https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
diff --git a/docs/dyn/content_v2.shippingsettings.html b/docs/dyn/content_v2.shippingsettings.html
index fcd7a7d..a116eb2 100644
--- a/docs/dyn/content_v2.shippingsettings.html
+++ b/docs/dyn/content_v2.shippingsettings.html
@@ -265,7 +265,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -293,7 +293,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -350,7 +350,7 @@
                       &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                         },
                       ],
                     },
@@ -378,7 +378,7 @@
                       &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                         },
                       ],
                     },
@@ -578,7 +578,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -606,7 +606,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -663,7 +663,7 @@
                       &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                         },
                       ],
                     },
@@ -691,7 +691,7 @@
                       &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                         },
                       ],
                     },
@@ -883,7 +883,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -911,7 +911,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -968,7 +968,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -996,7 +996,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -1275,7 +1275,7 @@
                   &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                      &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                      &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                     },
                   ],
                 },
@@ -1303,7 +1303,7 @@
                   &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                      &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                      &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                     },
                   ],
                 },
@@ -1360,7 +1360,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -1388,7 +1388,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -1587,7 +1587,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -1615,7 +1615,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -1672,7 +1672,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -1700,7 +1700,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -1881,7 +1881,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -1909,7 +1909,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -1966,7 +1966,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -1994,7 +1994,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
diff --git a/docs/dyn/content_v2_1.products.html b/docs/dyn/content_v2_1.products.html
index c612486..37b4d0e 100644
--- a/docs/dyn/content_v2_1.products.html
+++ b/docs/dyn/content_v2_1.products.html
@@ -307,7 +307,7 @@
         },
       },
       &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to get or delete. Only defined if the method is `get` or `delete`.
-      &quot;updateMask&quot;: &quot;A String&quot;, # The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.
+      &quot;updateMask&quot;: &quot;A String&quot;, # The comma-separated list of product attributes to be updated. Example: `&quot;title,salePrice&quot;`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.
     },
   ],
 }
@@ -1566,7 +1566,7 @@
   },
 }
 
-  updateMask: string, The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged.
+  updateMask: string, The comma-separated list of product attributes to be updated. Example: `&quot;title,salePrice&quot;`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/content_v2_1.regions.html b/docs/dyn/content_v2_1.regions.html
index 7dbdb70..430f141 100644
--- a/docs/dyn/content_v2_1.regions.html
+++ b/docs/dyn/content_v2_1.regions.html
@@ -306,7 +306,7 @@
   &quot;shippingEligible&quot;: True or False, # Output only. Indicates if the region is eligible to use in the Shipping Services configuration.
 }
 
-  updateMask: string, Optional. The field mask indicating the fields to update.
+  updateMask: string, Optional. The comma-separated field mask indicating the fields to update. Example: `&quot;displayName,postalCodeArea.regionCode&quot;`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/content_v2_1.shippingsettings.html b/docs/dyn/content_v2_1.shippingsettings.html
index 6f12775..475909a 100644
--- a/docs/dyn/content_v2_1.shippingsettings.html
+++ b/docs/dyn/content_v2_1.shippingsettings.html
@@ -265,7 +265,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -293,7 +293,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -350,7 +350,7 @@
                       &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                         },
                       ],
                     },
@@ -378,7 +378,7 @@
                       &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                         },
                       ],
                     },
@@ -577,7 +577,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -605,7 +605,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -662,7 +662,7 @@
                       &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                         },
                       ],
                     },
@@ -690,7 +690,7 @@
                       &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                          &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                         },
                       ],
                     },
@@ -882,7 +882,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -910,7 +910,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -967,7 +967,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -995,7 +995,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -1274,7 +1274,7 @@
                   &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                      &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                      &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                     },
                   ],
                 },
@@ -1302,7 +1302,7 @@
                   &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                      &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                      &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                     },
                   ],
                 },
@@ -1359,7 +1359,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -1387,7 +1387,7 @@
                     &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                       {
                         &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                        &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                       },
                     ],
                   },
@@ -1586,7 +1586,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -1614,7 +1614,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -1671,7 +1671,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -1699,7 +1699,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -1879,7 +1879,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -1907,7 +1907,7 @@
               &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                  &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                 },
               ],
             },
@@ -1964,7 +1964,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
@@ -1992,7 +1992,7 @@
                 &quot;weights&quot;: [ # A list of inclusive order weight upper bounds. The last weight&#x27;s value can be `&quot;infinity&quot;`. For example `[{&quot;value&quot;: &quot;10&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;50&quot;, &quot;unit&quot;: &quot;kg&quot;}, {&quot;value&quot;: &quot;infinity&quot;, &quot;unit&quot;: &quot;kg&quot;}]` represents the headers &quot;&lt;= 10kg&quot;, &quot;&lt;= 50kg&quot;, and &quot;&gt; 50kg&quot;. All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                   {
                     &quot;unit&quot;: &quot;A String&quot;, # Required. The weight unit. Acceptable values are: - &quot;`kg`&quot; - &quot;`lb`&quot;
-                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number.
+                    &quot;value&quot;: &quot;A String&quot;, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
                   },
                 ],
               },
diff --git a/docs/dyn/datastore_v1beta3.projects.html b/docs/dyn/datastore_v1beta3.projects.html
index 5bd9b36..6813001 100644
--- a/docs/dyn/datastore_v1beta3.projects.html
+++ b/docs/dyn/datastore_v1beta3.projects.html
@@ -232,7 +232,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;update&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to update. The entity must already exist. Must have a complete key path.
@@ -250,7 +283,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;upsert&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to upsert. The entity may or may not already exist. The entity key&#x27;s final path element may be incomplete.
@@ -268,7 +334,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
     },
@@ -381,7 +480,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -405,7 +537,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -503,24 +668,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -559,24 +707,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -637,24 +768,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -741,7 +855,40 @@
             ],
           },
           &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-            &quot;a_key&quot;: # Object with schema name: Value
+            &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+                &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+              &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+              &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+                &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                  &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+                },
+                &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                  { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                    &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                    &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  },
+                ],
+              },
+              &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+            },
           },
         },
         &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -780,24 +927,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
diff --git a/docs/dyn/displayvideo_v1.advertisers.campaigns.html b/docs/dyn/displayvideo_v1.advertisers.campaigns.html
index a397760..f4b8dd3 100644
--- a/docs/dyn/displayvideo_v1.advertisers.campaigns.html
+++ b/docs/dyn/displayvideo_v1.advertisers.campaigns.html
@@ -283,6 +283,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
@@ -425,6 +429,38 @@
 
 { # A single campaign.
   &quot;advertiserId&quot;: &quot;A String&quot;, # Output only. The unique ID of the advertiser the campaign belongs to.
+  &quot;campaignBudgets&quot;: [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      &quot;budgetAmountMicros&quot;: &quot;A String&quot;, # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      &quot;budgetId&quot;: &quot;A String&quot;, # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      &quot;budgetUnit&quot;: &quot;A String&quot;, # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      &quot;dateRange&quot;: { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      &quot;externalBudgetId&quot;: &quot;A String&quot;, # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;externalBudgetSource&quot;: &quot;A String&quot;, # Required. The external source of the budget segment.
+      &quot;invoiceGroupingId&quot;: &quot;A String&quot;, # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;prismaConfig&quot;: { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        &quot;prismaCpeCode&quot;: { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          &quot;prismaClientCode&quot;: &quot;A String&quot;, # The Prisma client code.
+          &quot;prismaEstimateCode&quot;: &quot;A String&quot;, # The Prisma estimate code.
+          &quot;prismaProductCode&quot;: &quot;A String&quot;, # The Prisma product code.
+        },
+        &quot;prismaType&quot;: &quot;A String&quot;, # Required. The Prisma type.
+        &quot;supplier&quot;: &quot;A String&quot;, # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   &quot;campaignFlight&quot;: { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     &quot;plannedDates&quot;: { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser&#x27;s time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -472,6 +508,38 @@
 
     { # A single campaign.
   &quot;advertiserId&quot;: &quot;A String&quot;, # Output only. The unique ID of the advertiser the campaign belongs to.
+  &quot;campaignBudgets&quot;: [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      &quot;budgetAmountMicros&quot;: &quot;A String&quot;, # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      &quot;budgetId&quot;: &quot;A String&quot;, # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      &quot;budgetUnit&quot;: &quot;A String&quot;, # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      &quot;dateRange&quot;: { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      &quot;externalBudgetId&quot;: &quot;A String&quot;, # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;externalBudgetSource&quot;: &quot;A String&quot;, # Required. The external source of the budget segment.
+      &quot;invoiceGroupingId&quot;: &quot;A String&quot;, # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;prismaConfig&quot;: { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        &quot;prismaCpeCode&quot;: { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          &quot;prismaClientCode&quot;: &quot;A String&quot;, # The Prisma client code.
+          &quot;prismaEstimateCode&quot;: &quot;A String&quot;, # The Prisma estimate code.
+          &quot;prismaProductCode&quot;: &quot;A String&quot;, # The Prisma product code.
+        },
+        &quot;prismaType&quot;: &quot;A String&quot;, # Required. The Prisma type.
+        &quot;supplier&quot;: &quot;A String&quot;, # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   &quot;campaignFlight&quot;: { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     &quot;plannedDates&quot;: { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser&#x27;s time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -546,6 +614,38 @@
 
     { # A single campaign.
   &quot;advertiserId&quot;: &quot;A String&quot;, # Output only. The unique ID of the advertiser the campaign belongs to.
+  &quot;campaignBudgets&quot;: [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      &quot;budgetAmountMicros&quot;: &quot;A String&quot;, # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      &quot;budgetId&quot;: &quot;A String&quot;, # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      &quot;budgetUnit&quot;: &quot;A String&quot;, # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      &quot;dateRange&quot;: { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      &quot;externalBudgetId&quot;: &quot;A String&quot;, # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;externalBudgetSource&quot;: &quot;A String&quot;, # Required. The external source of the budget segment.
+      &quot;invoiceGroupingId&quot;: &quot;A String&quot;, # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;prismaConfig&quot;: { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        &quot;prismaCpeCode&quot;: { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          &quot;prismaClientCode&quot;: &quot;A String&quot;, # The Prisma client code.
+          &quot;prismaEstimateCode&quot;: &quot;A String&quot;, # The Prisma estimate code.
+          &quot;prismaProductCode&quot;: &quot;A String&quot;, # The Prisma product code.
+        },
+        &quot;prismaType&quot;: &quot;A String&quot;, # Required. The Prisma type.
+        &quot;supplier&quot;: &quot;A String&quot;, # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   &quot;campaignFlight&quot;: { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     &quot;plannedDates&quot;: { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser&#x27;s time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -606,6 +706,38 @@
   &quot;campaigns&quot;: [ # The list of campaigns. This list will be absent if empty.
     { # A single campaign.
       &quot;advertiserId&quot;: &quot;A String&quot;, # Output only. The unique ID of the advertiser the campaign belongs to.
+      &quot;campaignBudgets&quot;: [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+        { # Settings that control how the campaign budget is allocated.
+          &quot;budgetAmountMicros&quot;: &quot;A String&quot;, # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+          &quot;budgetId&quot;: &quot;A String&quot;, # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+          &quot;budgetUnit&quot;: &quot;A String&quot;, # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+          &quot;dateRange&quot;: { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+            &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+              &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+              &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+              &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+            },
+            &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+              &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+              &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+              &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+            },
+          },
+          &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+          &quot;externalBudgetId&quot;: &quot;A String&quot;, # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+          &quot;externalBudgetSource&quot;: &quot;A String&quot;, # Required. The external source of the budget segment.
+          &quot;invoiceGroupingId&quot;: &quot;A String&quot;, # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+          &quot;prismaConfig&quot;: { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+            &quot;prismaCpeCode&quot;: { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+              &quot;prismaClientCode&quot;: &quot;A String&quot;, # The Prisma client code.
+              &quot;prismaEstimateCode&quot;: &quot;A String&quot;, # The Prisma estimate code.
+              &quot;prismaProductCode&quot;: &quot;A String&quot;, # The Prisma product code.
+            },
+            &quot;prismaType&quot;: &quot;A String&quot;, # Required. The Prisma type.
+            &quot;supplier&quot;: &quot;A String&quot;, # Required. The entity allocated this budget (DSP, site, etc.).
+          },
+        },
+      ],
       &quot;campaignFlight&quot;: { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
         &quot;plannedDates&quot;: { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser&#x27;s time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
           &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -673,6 +805,38 @@
 
 { # A single campaign.
   &quot;advertiserId&quot;: &quot;A String&quot;, # Output only. The unique ID of the advertiser the campaign belongs to.
+  &quot;campaignBudgets&quot;: [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      &quot;budgetAmountMicros&quot;: &quot;A String&quot;, # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      &quot;budgetId&quot;: &quot;A String&quot;, # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      &quot;budgetUnit&quot;: &quot;A String&quot;, # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      &quot;dateRange&quot;: { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      &quot;externalBudgetId&quot;: &quot;A String&quot;, # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;externalBudgetSource&quot;: &quot;A String&quot;, # Required. The external source of the budget segment.
+      &quot;invoiceGroupingId&quot;: &quot;A String&quot;, # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;prismaConfig&quot;: { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        &quot;prismaCpeCode&quot;: { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          &quot;prismaClientCode&quot;: &quot;A String&quot;, # The Prisma client code.
+          &quot;prismaEstimateCode&quot;: &quot;A String&quot;, # The Prisma estimate code.
+          &quot;prismaProductCode&quot;: &quot;A String&quot;, # The Prisma product code.
+        },
+        &quot;prismaType&quot;: &quot;A String&quot;, # Required. The Prisma type.
+        &quot;supplier&quot;: &quot;A String&quot;, # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   &quot;campaignFlight&quot;: { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     &quot;plannedDates&quot;: { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser&#x27;s time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -721,6 +885,38 @@
 
     { # A single campaign.
   &quot;advertiserId&quot;: &quot;A String&quot;, # Output only. The unique ID of the advertiser the campaign belongs to.
+  &quot;campaignBudgets&quot;: [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      &quot;budgetAmountMicros&quot;: &quot;A String&quot;, # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      &quot;budgetId&quot;: &quot;A String&quot;, # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      &quot;budgetUnit&quot;: &quot;A String&quot;, # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      &quot;dateRange&quot;: { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      &quot;externalBudgetId&quot;: &quot;A String&quot;, # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;externalBudgetSource&quot;: &quot;A String&quot;, # Required. The external source of the budget segment.
+      &quot;invoiceGroupingId&quot;: &quot;A String&quot;, # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      &quot;prismaConfig&quot;: { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        &quot;prismaCpeCode&quot;: { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          &quot;prismaClientCode&quot;: &quot;A String&quot;, # The Prisma client code.
+          &quot;prismaEstimateCode&quot;: &quot;A String&quot;, # The Prisma estimate code.
+          &quot;prismaProductCode&quot;: &quot;A String&quot;, # The Prisma product code.
+        },
+        &quot;prismaType&quot;: &quot;A String&quot;, # Required. The Prisma type.
+        &quot;supplier&quot;: &quot;A String&quot;, # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   &quot;campaignFlight&quot;: { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     &quot;plannedDates&quot;: { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser&#x27;s time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
diff --git a/docs/dyn/displayvideo_v1.advertisers.campaigns.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.advertisers.campaigns.targetingTypes.assignedTargetingOptions.html
index 7807df3..0155591 100644
--- a/docs/dyn/displayvideo_v1.advertisers.campaigns.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.advertisers.campaigns.targetingTypes.assignedTargetingOptions.html
@@ -139,6 +139,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -303,6 +304,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -459,6 +464,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=&quot;1&quot; OR assignedTargetingOptionId=&quot;2&quot;` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=&quot;NOT_INHERITED&quot; OR inheritance=&quot;INHERITED_FROM_PARTNER&quot;` The length of this field should be no more than 500 characters.
   orderBy: string, Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) 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: `assignedTargetingOptionId 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.
@@ -628,6 +634,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
diff --git a/docs/dyn/displayvideo_v1.advertisers.html b/docs/dyn/displayvideo_v1.advertisers.html
index 78cc68c..fad2ed3 100644
--- a/docs/dyn/displayvideo_v1.advertisers.html
+++ b/docs/dyn/displayvideo_v1.advertisers.html
@@ -100,6 +100,11 @@
 <p class="firstline">Returns the insertionOrders Resource.</p>
 
 <p class="toc_element">
+  <code><a href="displayvideo_v1.advertisers.invoices.html">invoices()</a></code>
+</p>
+<p class="firstline">Returns the invoices Resource.</p>
+
+<p class="toc_element">
   <code><a href="displayvideo_v1.advertisers.lineItems.html">lineItems()</a></code>
 </p>
 <p class="firstline">Returns the lineItems Resource.</p>
@@ -353,6 +358,10 @@
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
           },
           &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+          &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+            &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+          },
           &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
             &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
           },
@@ -639,6 +648,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
@@ -925,6 +938,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
@@ -1109,6 +1126,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the advertiser.
   &quot;partnerId&quot;: &quot;A String&quot;, # Required. Immutable. The unique ID of the partner that the advertiser belongs to.
+  &quot;prismaEnabled&quot;: True or False, # Whether integration with Mediaocean (Prisma) is enabled. By enabling this: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.
   &quot;servingConfig&quot;: { # Targeting settings related to ad serving of an advertiser. # Targeting settings related to ad serving of the advertiser.
     &quot;exemptTvFromViewabilityTargeting&quot;: True or False, # Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.
   },
@@ -1168,6 +1186,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the advertiser.
   &quot;partnerId&quot;: &quot;A String&quot;, # Required. Immutable. The unique ID of the partner that the advertiser belongs to.
+  &quot;prismaEnabled&quot;: True or False, # Whether integration with Mediaocean (Prisma) is enabled. By enabling this: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.
   &quot;servingConfig&quot;: { # Targeting settings related to ad serving of an advertiser. # Targeting settings related to ad serving of the advertiser.
     &quot;exemptTvFromViewabilityTargeting&quot;: True or False, # Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.
   },
@@ -1252,6 +1271,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the advertiser.
   &quot;partnerId&quot;: &quot;A String&quot;, # Required. Immutable. The unique ID of the partner that the advertiser belongs to.
+  &quot;prismaEnabled&quot;: True or False, # Whether integration with Mediaocean (Prisma) is enabled. By enabling this: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.
   &quot;servingConfig&quot;: { # Targeting settings related to ad serving of an advertiser. # Targeting settings related to ad serving of the advertiser.
     &quot;exemptTvFromViewabilityTargeting&quot;: True or False, # Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.
   },
@@ -1324,6 +1344,7 @@
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the advertiser.
       &quot;partnerId&quot;: &quot;A String&quot;, # Required. Immutable. The unique ID of the partner that the advertiser belongs to.
+      &quot;prismaEnabled&quot;: True or False, # Whether integration with Mediaocean (Prisma) is enabled. By enabling this: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.
       &quot;servingConfig&quot;: { # Targeting settings related to ad serving of an advertiser. # Targeting settings related to ad serving of the advertiser.
         &quot;exemptTvFromViewabilityTargeting&quot;: True or False, # Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.
       },
@@ -1402,6 +1423,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the advertiser.
   &quot;partnerId&quot;: &quot;A String&quot;, # Required. Immutable. The unique ID of the partner that the advertiser belongs to.
+  &quot;prismaEnabled&quot;: True or False, # Whether integration with Mediaocean (Prisma) is enabled. By enabling this: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.
   &quot;servingConfig&quot;: { # Targeting settings related to ad serving of an advertiser. # Targeting settings related to ad serving of the advertiser.
     &quot;exemptTvFromViewabilityTargeting&quot;: True or False, # Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.
   },
@@ -1462,6 +1484,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the advertiser.
   &quot;partnerId&quot;: &quot;A String&quot;, # Required. Immutable. The unique ID of the partner that the advertiser belongs to.
+  &quot;prismaEnabled&quot;: True or False, # Whether integration with Mediaocean (Prisma) is enabled. By enabling this: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.
   &quot;servingConfig&quot;: { # Targeting settings related to ad serving of an advertiser. # Targeting settings related to ad serving of the advertiser.
     &quot;exemptTvFromViewabilityTargeting&quot;: True or False, # Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.
   },
diff --git a/docs/dyn/displayvideo_v1.advertisers.insertionOrders.html b/docs/dyn/displayvideo_v1.advertisers.insertionOrders.html
index 36fe42d..963c8a0 100644
--- a/docs/dyn/displayvideo_v1.advertisers.insertionOrders.html
+++ b/docs/dyn/displayvideo_v1.advertisers.insertionOrders.html
@@ -283,6 +283,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
diff --git a/docs/dyn/displayvideo_v1.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.html
index e657cab..a1d7bb9 100644
--- a/docs/dyn/displayvideo_v1.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.html
@@ -139,6 +139,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -303,6 +304,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -459,6 +464,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=&quot;1&quot; OR assignedTargetingOptionId=&quot;2&quot;` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=&quot;NOT_INHERITED&quot; OR inheritance=&quot;INHERITED_FROM_PARTNER&quot;` The length of this field should be no more than 500 characters.
   orderBy: string, Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) 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: `assignedTargetingOptionId 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.
@@ -628,6 +634,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
diff --git a/docs/dyn/displayvideo_v1.advertisers.invoices.html b/docs/dyn/displayvideo_v1.advertisers.invoices.html
new file mode 100644
index 0000000..d0fb7a8
--- /dev/null
+++ b/docs/dyn/displayvideo_v1.advertisers.invoices.html
@@ -0,0 +1,213 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="displayvideo_v1.html">Display & Video 360 API</a> . <a href="displayvideo_v1.advertisers.html">advertisers</a> . <a href="displayvideo_v1.advertisers.invoices.html">invoices</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#list">list(advertiserId, issueMonth=None, loiSapinInvoiceType=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">List invoices for an advertiser.</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="#lookupInvoiceCurrency">lookupInvoiceCurrency(advertiserId, invoiceMonth=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lookup invoice currency for an advertiser.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(advertiserId, issueMonth=None, loiSapinInvoiceType=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>List invoices for an advertiser.
+
+Args:
+  advertiserId: string, Required. The ID of the advertiser to list invoices for. (required)
+  issueMonth: string, Required. Month for which invoices are needed in the format YYYYMM.
+  loiSapinInvoiceType: string, Select type of invoice to query for Loi Sapin advertisers. Otherwise its ignored.
+    Allowed values
+      LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED - Value is not specified.
+      LOI_SAPIN_INVOICE_TYPE_MEDIA - Invoices with Media cost.
+      LOI_SAPIN_INVOICE_TYPE_PLATFORM - Invoices with Platform fee.
+  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 [ListInvoicesResponse.next_page_token] returned from the previous call to `ListInvoice` method. If not specified, the first page of results will be returned.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for InvoiceService.ListInvoices.
+  &quot;invoices&quot;: [ # The list of invoices. This list will be absent if empty.
+    { # A single Invoice.
+      &quot;budgetInvoiceGroupingId&quot;: &quot;A String&quot;, # Output only. Budget invoice grouping ID associated with the budget segment in the insertion order.
+      &quot;budgetSummaries&quot;: [ # Output only. The list of summarized budget information associated with this invoice.
+        { # Represents a summarized budget information associated with this invoice.
+          &quot;externalBudgetId&quot;: &quot;A String&quot;, # Output only. External budget id.
+          &quot;preTaxAmountMicros&quot;: &quot;A String&quot;, # Output only. The pre-tax amount for this budget, in micros of the invoice&#x27;s currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.
+          &quot;prismaCpeCode&quot;: { # Google Payments Center supports searching and filtering on the component fields of this code. # Output only. Codes specific to the MediaOcean Prisma tool.
+            &quot;prismaClientCode&quot;: &quot;A String&quot;, # The Prisma client code.
+            &quot;prismaEstimateCode&quot;: &quot;A String&quot;, # The Prisma estimate code.
+            &quot;prismaProductCode&quot;: &quot;A String&quot;, # The Prisma product code.
+          },
+          &quot;taxAmountMicros&quot;: &quot;A String&quot;, # Output only. The tax amount for this budget, in micros of the invoice&#x27;s currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.
+          &quot;totalAmountMicros&quot;: &quot;A String&quot;, # Output only. The total amount of charges for this budget, in micros of the invoice&#x27;s currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.
+        },
+      ],
+      &quot;correctedInvoiceId&quot;: &quot;A String&quot;, # Output only. The originally issued invoice that is being adjusted by this invoice, if applicable. If there is a corrected invoice, the replaced_invoice_ids field will be empty. May appear on invoice PDF as `Reference invoice number`.
+      &quot;currencyCode&quot;: &quot;A String&quot;, # Output only. Invoice currency code in ISO 4217 format.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. Display name of the invoice.
+      &quot;dueDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Output only. The invoice due date.
+        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      &quot;invoiceId&quot;: &quot;A String&quot;, # Output only. The unique ID of the invoice.
+      &quot;invoiceType&quot;: &quot;A String&quot;, # Output only. The type of invoice document.
+      &quot;issueDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Output only. The date when the invoice was issued.
+        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the invoice.
+      &quot;nonBudgetMicros&quot;: &quot;A String&quot;, # Output only. The total amount of costs or adjustments not tied to a particular budget, in micros of the invoice&#x27;s currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.
+      &quot;paymentsAccountId&quot;: &quot;A String&quot;, # Output only. The ID of the payments account the invoice belongs to. Appears on the invoice PDF as `Billing Account Number`.
+      &quot;paymentsProfileId&quot;: &quot;A String&quot;, # Output only. The ID of the payments profile the invoice belongs to. Appears on the invoice PDF as `Billing ID`.
+      &quot;pdfUrl&quot;: &quot;A String&quot;, # Output only. The URL to download a PDF copy of the invoice. Note that this URL is user specific and requires a valid OAuth 2.0 access token to access. The access token must be provided in an `Authorization: Bearer` HTTP header and be authorized for one of the following scopes: * `https://www.googleapis.com/auth/display-video-mediaplanning` * `https://www.googleapis.com/auth/display-video` The URL will only be usable for 7 days from when the api is called.
+      &quot;purchaseOrderNumber&quot;: &quot;A String&quot;, # Output only. Purchase order number associated with the invoice.
+      &quot;replacedInvoiceIds&quot;: [ # Output only. The originally issued invoice(s) that is being cancelled by this invoice, if applicable. If there are any replaced invoices, the corrected_invoice_id field will be empty. May appear on invoice PDF as `Replaced invoice numbers`. Note: There may be multiple replaced invoices due to consolidation of multiple invoices into a single invoice.
+        &quot;A String&quot;,
+      ],
+      &quot;serviceDateRange&quot;: { # A date range. # Output only. Service start and end dates which are covered by this invoice.
+        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      &quot;subtotalAmountMicros&quot;: &quot;A String&quot;, # Output only. The pre-tax subtotal amount, in micros of the invoice&#x27;s currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.
+      &quot;totalAmountMicros&quot;: &quot;A String&quot;, # Output only. The invoice total amount, in micros of the invoice&#x27;s currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.
+      &quot;totalTaxAmountMicros&quot;: &quot;A String&quot;, # Output only. The sum of all taxes in invoice, in micros of the invoice&#x27;s currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass this value in the [ListInvoicesRequest.page_token] field in the subsequent call to `ListInvoices` method to retrieve the next page of results.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="lookupInvoiceCurrency">lookupInvoiceCurrency(advertiserId, invoiceMonth=None, x__xgafv=None)</code>
+  <pre>Lookup invoice currency for an advertiser.
+
+Args:
+  advertiserId: string, Required. The ID of the advertiser to lookup currency for. (required)
+  invoiceMonth: string, Month for which currency is needed in the format YYYYMM. If not set Api would return currency based on current settings.
+  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 InvoiceService.LookupInvoiceCurrency.
+  &quot;currencyCode&quot;: &quot;A String&quot;, # Output only. Invoice currency code in ISO 4217 format.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/displayvideo_v1.advertisers.lineItems.html b/docs/dyn/displayvideo_v1.advertisers.lineItems.html
index 7957e91..6ffb254 100644
--- a/docs/dyn/displayvideo_v1.advertisers.lineItems.html
+++ b/docs/dyn/displayvideo_v1.advertisers.lineItems.html
@@ -282,6 +282,10 @@
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
           },
           &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+          &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+            &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+          },
           &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
             &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
           },
@@ -568,6 +572,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
@@ -855,6 +863,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
diff --git a/docs/dyn/displayvideo_v1.advertisers.lineItems.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.advertisers.lineItems.targetingTypes.assignedTargetingOptions.html
index 8675d22..bb4ce12 100644
--- a/docs/dyn/displayvideo_v1.advertisers.lineItems.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.advertisers.lineItems.targetingTypes.assignedTargetingOptions.html
@@ -145,6 +145,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   body: object, The request body.
     The object takes the form of:
 
@@ -303,6 +304,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -574,6 +579,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -730,6 +739,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   assignedTargetingOptionId: string, Required. The ID of the assigned targeting option to delete. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -790,6 +800,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -954,6 +965,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -1110,6 +1125,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=&quot;1&quot; OR assignedTargetingOptionId=&quot;2&quot;` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=&quot;NOT_INHERITED&quot; OR inheritance=&quot;INHERITED_FROM_PARTNER&quot;` The length of this field should be no more than 500 characters.
   orderBy: string, Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) 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: `assignedTargetingOptionId 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.
@@ -1279,6 +1295,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
diff --git a/docs/dyn/displayvideo_v1.advertisers.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.advertisers.targetingTypes.assignedTargetingOptions.html
index 835f19b..602d0d5 100644
--- a/docs/dyn/displayvideo_v1.advertisers.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.advertisers.targetingTypes.assignedTargetingOptions.html
@@ -144,6 +144,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   body: object, The request body.
     The object takes the form of:
 
@@ -302,6 +303,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -573,6 +578,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -728,6 +737,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   assignedTargetingOptionId: string, Required. The ID of the assigned targeting option to delete. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -787,6 +797,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this advertiser that identifies the assigned targeting option being requested. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -951,6 +962,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -1106,6 +1121,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: * AssignedTargetingOption with ID 123456 `assignedTargetingOptionId=&quot;123456&quot;` The length of this field should be no more than 500 characters.
   orderBy: string, Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) 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: `assignedTargetingOptionId 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.
@@ -1275,6 +1291,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
diff --git a/docs/dyn/displayvideo_v1.partners.html b/docs/dyn/displayvideo_v1.partners.html
index 7d98476..2d5a65f 100644
--- a/docs/dyn/displayvideo_v1.partners.html
+++ b/docs/dyn/displayvideo_v1.partners.html
@@ -268,6 +268,10 @@
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
           },
           &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+          &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+            &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+          },
           &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
             &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
           },
@@ -554,6 +558,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
diff --git a/docs/dyn/displayvideo_v1.partners.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.partners.targetingTypes.assignedTargetingOptions.html
index f0d1ce1..611251f 100644
--- a/docs/dyn/displayvideo_v1.partners.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.partners.targetingTypes.assignedTargetingOptions.html
@@ -144,6 +144,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   body: object, The request body.
     The object takes the form of:
 
@@ -302,6 +303,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -573,6 +578,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -728,6 +737,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   assignedTargetingOptionId: string, Required. The ID of the assigned targeting option to delete. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -787,6 +797,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this partner that identifies the assigned targeting option being requested. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -951,6 +962,10 @@
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+  },
   &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
     &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
   },
@@ -1106,6 +1121,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: * AssignedTargetingOption with ID 123456 `assignedTargetingOptionId=&quot;123456&quot;` The length of this field should be no more than 500 characters.
   orderBy: string, Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) 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: `assignedTargetingOptionId 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.
@@ -1275,6 +1291,10 @@
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this assigned targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       &quot;negativeKeywordListDetails&quot;: { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         &quot;negativeKeywordListId&quot;: &quot;A String&quot;, # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
diff --git a/docs/dyn/displayvideo_v1.targetingTypes.targetingOptions.html b/docs/dyn/displayvideo_v1.targetingTypes.targetingOptions.html
index a98c22e..43b690b 100644
--- a/docs/dyn/displayvideo_v1.targetingTypes.targetingOptions.html
+++ b/docs/dyn/displayvideo_v1.targetingTypes.targetingOptions.html
@@ -143,6 +143,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   targetingOptionId: string, Required. The ID of the of targeting option to retrieve. (required)
   advertiserId: string, Required. The Advertiser this request is being made in the context of.
   x__xgafv: string, V1 error format.
@@ -208,6 +209,9 @@
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the language (e.g., &quot;French&quot;).
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this targeting option.
+  &quot;nativeContentPositionDetails&quot;: { # Represents a targetable native content position. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. # Native content position details.
+    &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+  },
   &quot;onScreenPositionDetails&quot;: { # Represents a targetable on screen position, which could be used by display and video ads. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. # On screen position details.
     &quot;onScreenPosition&quot;: &quot;A String&quot;, # Output only. The on screen position.
   },
@@ -282,6 +286,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   advertiserId: string, Required. The Advertiser this request is being made in the context of.
   filter: string, Allows filtering by targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * The operator must be &quot;=&quot; (equal sign). * Supported fields: - `carrierAndIspDetails.type` - `geoRegionDetails.geoRegionType` - `targetingOptionId` Examples: * All `GEO REGION` targeting options that belong to sub type `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`: `geoRegionDetails.geoRegionType=&quot;GEO_REGION_TYPE_COUNTRY&quot; OR geoRegionDetails.geoRegionType=&quot;GEO_REGION_TYPE_STATE&quot;` * All `CARRIER AND ISP` targeting options that belong to sub type `CARRIER_AND_ISP_TYPE_CARRIER`: `carrierAndIspDetails.type=&quot;CARRIER_AND_ISP_TYPE_CARRIER&quot;`. The length of this field should be no more than 500 characters.
   orderBy: string, Field by which to sort the list. Acceptable values are: * `targetingOptionId` (default) 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: `targetingOptionId desc`.
@@ -353,6 +358,9 @@
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the language (e.g., &quot;French&quot;).
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Represents a targetable native content position. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. # Native content position details.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+      },
       &quot;onScreenPositionDetails&quot;: { # Represents a targetable on screen position, which could be used by display and video ads. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. # On screen position details.
         &quot;onScreenPosition&quot;: &quot;A String&quot;, # Output only. The on screen position.
       },
@@ -443,6 +451,7 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
+      TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
   body: object, The request body.
     The object takes the form of:
 
@@ -521,6 +530,9 @@
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the language (e.g., &quot;French&quot;).
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this targeting option.
+      &quot;nativeContentPositionDetails&quot;: { # Represents a targetable native content position. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. # Native content position details.
+        &quot;contentPosition&quot;: &quot;A String&quot;, # Output only. The content position.
+      },
       &quot;onScreenPositionDetails&quot;: { # Represents a targetable on screen position, which could be used by display and video ads. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. # On screen position details.
         &quot;onScreenPosition&quot;: &quot;A String&quot;, # Output only. The on screen position.
       },
diff --git a/docs/dyn/gkehub_v1.projects.locations.features.html b/docs/dyn/gkehub_v1.projects.locations.features.html
new file mode 100644
index 0000000..3811a35
--- /dev/null
+++ b/docs/dyn/gkehub_v1.projects.locations.features.html
@@ -0,0 +1,258 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="gkehub_v1.html">GKE Hub</a> . <a href="gkehub_v1.projects.html">projects</a> . <a href="gkehub_v1.projects.locations.html">locations</a> . <a href="gkehub_v1.projects.locations.features.html">features</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.</p>
+<p class="toc_element">
+  <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.</p>
+<p class="toc_element">
+  <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
+  <pre>Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
+  options_requestedPolicyVersion: integer, Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+  &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+    { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+      &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+        { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+          &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+            &quot;A String&quot;,
+          ],
+          &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+        },
+      ],
+      &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+    },
+  ],
+  &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
+    { # Associates `members` with a `role`.
+      &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+        &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+        &quot;A String&quot;,
+      ],
+      &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+    },
+  ],
+  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+  &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
+  <pre>Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `SetIamPolicy` method.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+    &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+      { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+        &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+          { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+            &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+              &quot;A String&quot;,
+            ],
+            &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+          },
+        ],
+        &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+      },
+    ],
+    &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
+      { # Associates `members` with a `role`.
+        &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+        },
+        &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+          &quot;A String&quot;,
+        ],
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+      },
+    ],
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+    &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  },
+  &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: &quot;bindings, etag&quot;`
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+  &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+    { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
+      &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+        { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+          &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+            &quot;A String&quot;,
+          ],
+          &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+        },
+      ],
+      &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+    },
+  ],
+  &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
+    { # Associates `members` with a `role`.
+      &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+        &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+        &quot;A String&quot;,
+      ],
+      &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+    },
+  ],
+  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+  &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
+  <pre>Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may &quot;fail open&quot; without warning.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+    &quot;A String&quot;,
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TestIamPermissions` method.
+  &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+    &quot;A String&quot;,
+  ],
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gkehub_v1.projects.locations.html b/docs/dyn/gkehub_v1.projects.locations.html
index 1f8d32b..c65eabb 100644
--- a/docs/dyn/gkehub_v1.projects.locations.html
+++ b/docs/dyn/gkehub_v1.projects.locations.html
@@ -75,6 +75,11 @@
 <h1><a href="gkehub_v1.html">GKE Hub</a> . <a href="gkehub_v1.projects.html">projects</a> . <a href="gkehub_v1.projects.locations.html">locations</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="gkehub_v1.projects.locations.features.html">features()</a></code>
+</p>
+<p class="firstline">Returns the features Resource.</p>
+
+<p class="toc_element">
   <code><a href="gkehub_v1.projects.locations.memberships.html">memberships()</a></code>
 </p>
 <p class="firstline">Returns the memberships Resource.</p>
diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.features.html b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
index 625898e..37287e9 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
@@ -156,6 +156,7 @@
             &quot;A String&quot;,
           ],
           &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
           &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
           &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
         },
@@ -256,6 +257,7 @@
               &quot;A String&quot;,
             ],
             &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
             &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
             &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
           },
@@ -274,6 +276,7 @@
           &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
             &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
             &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+            &quot;gatekeeperMutation&quot;: &quot;A String&quot;, # Status of the pod serving the mutation webhook.
           },
           &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
             &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
@@ -477,6 +480,7 @@
             &quot;A String&quot;,
           ],
           &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
           &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
           &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
         },
@@ -577,6 +581,7 @@
               &quot;A String&quot;,
             ],
             &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
             &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
             &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
           },
@@ -595,6 +600,7 @@
           &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
             &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
             &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+            &quot;gatekeeperMutation&quot;: &quot;A String&quot;, # Status of the pod serving the mutation webhook.
           },
           &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
             &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
@@ -786,6 +792,7 @@
                 &quot;A String&quot;,
               ],
               &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+              &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
               &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
               &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
             },
@@ -886,6 +893,7 @@
                   &quot;A String&quot;,
                 ],
                 &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+                &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
                 &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
                 &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
               },
@@ -904,6 +912,7 @@
               &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
                 &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
                 &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+                &quot;gatekeeperMutation&quot;: &quot;A String&quot;, # Status of the pod serving the mutation webhook.
               },
               &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
                 &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
@@ -1051,6 +1060,7 @@
             &quot;A String&quot;,
           ],
           &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
           &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
           &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
         },
@@ -1151,6 +1161,7 @@
               &quot;A String&quot;,
             ],
             &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
             &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
             &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
           },
@@ -1169,6 +1180,7 @@
           &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
             &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
             &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+            &quot;gatekeeperMutation&quot;: &quot;A String&quot;, # Status of the pod serving the mutation webhook.
           },
           &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
             &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
diff --git a/docs/dyn/index.md b/docs/dyn/index.md
index d800b6b..ae9ba5f 100644
--- a/docs/dyn/index.md
+++ b/docs/dyn/index.md
@@ -443,6 +443,10 @@
 * [v1beta1](http://googleapis.github.io/google-api-python-client/docs/dyn/firebase_v1beta1.html)
 
 
+## firebaseappcheck
+* [v1beta](http://googleapis.github.io/google-api-python-client/docs/dyn/firebaseappcheck_v1beta.html)
+
+
 ## firebasedatabase
 * [v1beta](http://googleapis.github.io/google-api-python-client/docs/dyn/firebasedatabase_v1beta.html)
 
@@ -662,6 +666,7 @@
 
 ## osconfig
 * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/osconfig_v1.html)
+* [v1alpha](http://googleapis.github.io/google-api-python-client/docs/dyn/osconfig_v1alpha.html)
 * [v1beta](http://googleapis.github.io/google-api-python-client/docs/dyn/osconfig_v1beta.html)
 
 
diff --git a/docs/dyn/osconfig_v1alpha.html b/docs/dyn/osconfig_v1alpha.html
new file mode 100644
index 0000000..3ea4e41
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.html
@@ -0,0 +1,111 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="osconfig_v1alpha.html">OS Config API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="osconfig_v1alpha.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/osconfig_v1alpha.projects.html b/docs/dyn/osconfig_v1alpha.projects.html
new file mode 100644
index 0000000..eb1809c
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.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="osconfig_v1alpha.html">OS Config API</a> . <a href="osconfig_v1alpha.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="osconfig_v1alpha.projects.locations.html">locations()</a></code>
+</p>
+<p class="firstline">Returns the locations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.html b/docs/dyn/osconfig_v1alpha.projects.locations.html
new file mode 100644
index 0000000..97d0f63
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.html
@@ -0,0 +1,101 @@
+<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="osconfig_v1alpha.html">OS Config API</a> . <a href="osconfig_v1alpha.projects.html">projects</a> . <a href="osconfig_v1alpha.projects.locations.html">locations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html">instanceOSPoliciesCompliances()</a></code>
+</p>
+<p class="firstline">Returns the instanceOSPoliciesCompliances Resource.</p>
+
+<p class="toc_element">
+  <code><a href="osconfig_v1alpha.projects.locations.instances.html">instances()</a></code>
+</p>
+<p class="firstline">Returns the instances Resource.</p>
+
+<p class="toc_element">
+  <code><a href="osconfig_v1alpha.projects.locations.osPolicyAssignments.html">osPolicyAssignments()</a></code>
+</p>
+<p class="firstline">Returns the osPolicyAssignments 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/osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html b/docs/dyn/osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html
new file mode 100644
index 0000000..d53feb9
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html
@@ -0,0 +1,205 @@
+<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="osconfig_v1alpha.html">OS Config API</a> . <a href="osconfig_v1alpha.projects.html">projects</a> . <a href="osconfig_v1alpha.projects.locations.html">locations</a> . <a href="osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html">instanceOSPoliciesCompliances</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Get OS policies compliance data for the specified Compute Engine VM instance.</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 OS policies compliance data for all Compute Engine VM instances in the specified zone.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Get OS policies compliance data for the specified Compute Engine VM instance.
+
+Args:
+  name: string, Required. API resource name for instance OS policies compliance resource. Format: `projects/{project}/locations/{location}/instanceOSPoliciesCompliances/{instance}` For `{project}`, either Compute Engine project-number or project-id can be provided. For `{instance}`, either Compute Engine VM instance-id or instance-name can be provided. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](/compute/docs/os-configuration-management/view-compliance).
+  &quot;detailedState&quot;: &quot;A String&quot;, # Output only. Detailed compliance state of the VM. This field is populated only when compliance state is `UNKNOWN`. It may contain one of the following values: * `no-compliance-data`: Compliance data is not available for this VM. * `no-agent-detected`: OS Config agent is not detected for this VM. * `config-not-supported-by-agent`: The version of the OS Config agent running on this VM does not support configuration management. * `inactive`: VM is not running. * `internal-service-errors`: There were internal service errors encountered while enforcing compliance. * `agent-errors`: OS config agent encountered errors while enforcing compliance.
+  &quot;detailedStateReason&quot;: &quot;A String&quot;, # Output only. The reason for the `detailed_state` of the VM (if any).
+  &quot;instance&quot;: &quot;A String&quot;, # Output only. The Compute Engine VM instance name.
+  &quot;lastComplianceCheckTime&quot;: &quot;A String&quot;, # Output only. Timestamp of the last compliance check for the VM.
+  &quot;lastComplianceRunId&quot;: &quot;A String&quot;, # Output only. Unique identifier for the last compliance run. This id will be logged by the OS config agent during a compliance run and can be used for debugging and tracing purpose.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The `InstanceOSPoliciesCompliance` API resource name. Format: `projects/{project_number}/locations/{location}/instanceOSPoliciesCompliances/{instance_id}`
+  &quot;osPolicyCompliances&quot;: [ # Output only. Compliance data for each `OSPolicy` that is applied to the VM.
+    { # Compliance data for an OS policy
+      &quot;osPolicyAssignment&quot;: &quot;A String&quot;, # Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`
+      &quot;osPolicyId&quot;: &quot;A String&quot;, # The OS policy id
+      &quot;osPolicyResourceCompliances&quot;: [ # Compliance data for each `OSPolicyResource` that is applied to the VM.
+        { # Compliance data for an OS policy resource.
+          &quot;configSteps&quot;: [ # Ordered list of configuration steps taken by the agent for the OS policy resource.
+            { # Step performed by the OS Config agent for configuring an `OSPolicyResource` to its desired state.
+              &quot;outcome&quot;: &quot;A String&quot;, # Outcome of the configuration step.
+              &quot;type&quot;: &quot;A String&quot;, # Configuration step type.
+            },
+          ],
+          &quot;osPolicyResourceId&quot;: &quot;A String&quot;, # The id of the OS policy resource.
+          &quot;state&quot;: &quot;A String&quot;, # Compliance state of the OS policy resource.
+        },
+      ],
+      &quot;state&quot;: &quot;A String&quot;, # Compliance state of the OS policy.
+    },
+  ],
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Compliance state of the VM.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>List OS policies compliance data for all Compute Engine VM instances in the specified zone.
+
+Args:
+  parent: string, Required. The parent resource name. Format: `projects/{project}/locations/{location}` For `{project}`, either Compute Engine project-number or project-id can be provided. (required)
+  filter: string, If provided, this field specifies the criteria that must be met by a `InstanceOSPoliciesCompliance` API resource to be included in the response.
+  pageSize: integer, The maximum number of results to return.
+  pageToken: string, A pagination token returned from a previous call to `ListInstanceOSPoliciesCompliances` that indicates where this listing should continue from.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A response message for listing OS policies compliance data for all Compute Engine VMs in the given location.
+  &quot;instanceOsPoliciesCompliances&quot;: [ # List of instance OS policies compliance objects.
+    { # This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](/compute/docs/os-configuration-management/view-compliance).
+      &quot;detailedState&quot;: &quot;A String&quot;, # Output only. Detailed compliance state of the VM. This field is populated only when compliance state is `UNKNOWN`. It may contain one of the following values: * `no-compliance-data`: Compliance data is not available for this VM. * `no-agent-detected`: OS Config agent is not detected for this VM. * `config-not-supported-by-agent`: The version of the OS Config agent running on this VM does not support configuration management. * `inactive`: VM is not running. * `internal-service-errors`: There were internal service errors encountered while enforcing compliance. * `agent-errors`: OS config agent encountered errors while enforcing compliance.
+      &quot;detailedStateReason&quot;: &quot;A String&quot;, # Output only. The reason for the `detailed_state` of the VM (if any).
+      &quot;instance&quot;: &quot;A String&quot;, # Output only. The Compute Engine VM instance name.
+      &quot;lastComplianceCheckTime&quot;: &quot;A String&quot;, # Output only. Timestamp of the last compliance check for the VM.
+      &quot;lastComplianceRunId&quot;: &quot;A String&quot;, # Output only. Unique identifier for the last compliance run. This id will be logged by the OS config agent during a compliance run and can be used for debugging and tracing purpose.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The `InstanceOSPoliciesCompliance` API resource name. Format: `projects/{project_number}/locations/{location}/instanceOSPoliciesCompliances/{instance_id}`
+      &quot;osPolicyCompliances&quot;: [ # Output only. Compliance data for each `OSPolicy` that is applied to the VM.
+        { # Compliance data for an OS policy
+          &quot;osPolicyAssignment&quot;: &quot;A String&quot;, # Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`
+          &quot;osPolicyId&quot;: &quot;A String&quot;, # The OS policy id
+          &quot;osPolicyResourceCompliances&quot;: [ # Compliance data for each `OSPolicyResource` that is applied to the VM.
+            { # Compliance data for an OS policy resource.
+              &quot;configSteps&quot;: [ # Ordered list of configuration steps taken by the agent for the OS policy resource.
+                { # Step performed by the OS Config agent for configuring an `OSPolicyResource` to its desired state.
+                  &quot;outcome&quot;: &quot;A String&quot;, # Outcome of the configuration step.
+                  &quot;type&quot;: &quot;A String&quot;, # Configuration step type.
+                },
+              ],
+              &quot;osPolicyResourceId&quot;: &quot;A String&quot;, # The id of the OS policy resource.
+              &quot;state&quot;: &quot;A String&quot;, # Compliance state of the OS policy resource.
+            },
+          ],
+          &quot;state&quot;: &quot;A String&quot;, # Compliance state of the OS policy.
+        },
+      ],
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Compliance state of the VM.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of instance OS policies compliance objects.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.instances.html b/docs/dyn/osconfig_v1alpha.projects.locations.instances.html
new file mode 100644
index 0000000..801b8d5
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.instances.html
@@ -0,0 +1,96 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="osconfig_v1alpha.html">OS Config API</a> . <a href="osconfig_v1alpha.projects.html">projects</a> . <a href="osconfig_v1alpha.projects.locations.html">locations</a> . <a href="osconfig_v1alpha.projects.locations.instances.html">instances</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="osconfig_v1alpha.projects.locations.instances.inventories.html">inventories()</a></code>
+</p>
+<p class="firstline">Returns the inventories Resource.</p>
+
+<p class="toc_element">
+  <code><a href="osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html">vulnerabilityReports()</a></code>
+</p>
+<p class="firstline">Returns the vulnerabilityReports 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/osconfig_v1alpha.projects.locations.instances.inventories.html b/docs/dyn/osconfig_v1alpha.projects.locations.instances.inventories.html
new file mode 100644
index 0000000..8a359f2
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.instances.inventories.html
@@ -0,0 +1,441 @@
+<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="osconfig_v1alpha.html">OS Config API</a> . <a href="osconfig_v1alpha.projects.html">projects</a> . <a href="osconfig_v1alpha.projects.locations.html">locations</a> . <a href="osconfig_v1alpha.projects.locations.instances.html">instances</a> . <a href="osconfig_v1alpha.projects.locations.instances.inventories.html">inventories</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, view=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Get inventory data for the specified VM instance. If the VM has no associated inventory, the message `NOT_FOUND` is returned.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)</a></code></p>
+<p class="firstline">List inventory data for all VM instances in the specified zone.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, view=None, x__xgafv=None)</code>
+  <pre>Get inventory data for the specified VM instance. If the VM has no associated inventory, the message `NOT_FOUND` is returned.
+
+Args:
+  name: string, Required. API resource name for inventory resource. Format: `projects/{project}/locations/{location}/instances/{instance}/inventory` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either Compute Engine `instance-id` or `instance-name` can be provided. (required)
+  view: string, Inventory view indicating what information should be included in the inventory resource. If unspecified, the default view is BASIC.
+    Allowed values
+      INVENTORY_VIEW_UNSPECIFIED - The default value. The API defaults to the BASIC view.
+      BASIC - Returns the basic inventory information that includes `os_info`.
+      FULL - Returns all fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](/compute/docs/instances/os-inventory-management#data-collected).
+  &quot;items&quot;: { # Output only. Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.
+    &quot;a_key&quot;: { # A single piece of inventory on a VM.
+      &quot;availablePackage&quot;: { # Software package information of the operating system. # Software package available to be installed on the VM instance.
+        &quot;aptPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;cosPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a COS package.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;googetPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;qfePackage&quot;: { # Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering # Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering.
+          &quot;caption&quot;: &quot;A String&quot;, # A short textual description of the QFE update.
+          &quot;description&quot;: &quot;A String&quot;, # A textual description of the QFE update.
+          &quot;hotFixId&quot;: &quot;A String&quot;, # Unique identifier associated with a particular QFE update.
+          &quot;installTime&quot;: &quot;A String&quot;, # Date that the QFE update was installed. Mapped from installed_on field.
+        },
+        &quot;wuaPackage&quot;: { # Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated. # Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update.
+          &quot;categories&quot;: [ # The categories that are associated with this update package.
+            { # Categories specified by the Windows Update.
+              &quot;id&quot;: &quot;A String&quot;, # The identifier of the windows update category.
+              &quot;name&quot;: &quot;A String&quot;, # The name of the windows update category.
+            },
+          ],
+          &quot;description&quot;: &quot;A String&quot;, # The localized description of the update package.
+          &quot;kbArticleIds&quot;: [ # A collection of Microsoft Knowledge Base article IDs that are associated with the update package.
+            &quot;A String&quot;,
+          ],
+          &quot;lastDeploymentChangeTime&quot;: &quot;A String&quot;, # The last published date of the update, in (UTC) date and time.
+          &quot;moreInfoUrls&quot;: [ # A collection of URLs that provide more information about the update package.
+            &quot;A String&quot;,
+          ],
+          &quot;revisionNumber&quot;: 42, # The revision number of this update package.
+          &quot;supportUrl&quot;: &quot;A String&quot;, # A hyperlink to the language-specific support information for the update.
+          &quot;title&quot;: &quot;A String&quot;, # The localized title of the update package.
+          &quot;updateId&quot;: &quot;A String&quot;, # Gets the identifier of an update package. Stays the same across revisions.
+        },
+        &quot;yumPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;zypperPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;zypperPatch&quot;: { # Details related to a Zypper Patch. # Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+          &quot;category&quot;: &quot;A String&quot;, # The category of the patch.
+          &quot;patchName&quot;: &quot;A String&quot;, # The name of the patch.
+          &quot;severity&quot;: &quot;A String&quot;, # The severity specified for this patch
+          &quot;summary&quot;: &quot;A String&quot;, # Any summary information provided about this patch.
+        },
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # When this inventory item was first detected.
+      &quot;id&quot;: &quot;A String&quot;, # Identifier for this item, unique across items for this VM.
+      &quot;installedPackage&quot;: { # Software package information of the operating system. # Software package present on the VM instance.
+        &quot;aptPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;cosPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a COS package.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;googetPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;qfePackage&quot;: { # Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering # Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering.
+          &quot;caption&quot;: &quot;A String&quot;, # A short textual description of the QFE update.
+          &quot;description&quot;: &quot;A String&quot;, # A textual description of the QFE update.
+          &quot;hotFixId&quot;: &quot;A String&quot;, # Unique identifier associated with a particular QFE update.
+          &quot;installTime&quot;: &quot;A String&quot;, # Date that the QFE update was installed. Mapped from installed_on field.
+        },
+        &quot;wuaPackage&quot;: { # Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated. # Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update.
+          &quot;categories&quot;: [ # The categories that are associated with this update package.
+            { # Categories specified by the Windows Update.
+              &quot;id&quot;: &quot;A String&quot;, # The identifier of the windows update category.
+              &quot;name&quot;: &quot;A String&quot;, # The name of the windows update category.
+            },
+          ],
+          &quot;description&quot;: &quot;A String&quot;, # The localized description of the update package.
+          &quot;kbArticleIds&quot;: [ # A collection of Microsoft Knowledge Base article IDs that are associated with the update package.
+            &quot;A String&quot;,
+          ],
+          &quot;lastDeploymentChangeTime&quot;: &quot;A String&quot;, # The last published date of the update, in (UTC) date and time.
+          &quot;moreInfoUrls&quot;: [ # A collection of URLs that provide more information about the update package.
+            &quot;A String&quot;,
+          ],
+          &quot;revisionNumber&quot;: 42, # The revision number of this update package.
+          &quot;supportUrl&quot;: &quot;A String&quot;, # A hyperlink to the language-specific support information for the update.
+          &quot;title&quot;: &quot;A String&quot;, # The localized title of the update package.
+          &quot;updateId&quot;: &quot;A String&quot;, # Gets the identifier of an update package. Stays the same across revisions.
+        },
+        &quot;yumPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;zypperPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+          &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+        },
+        &quot;zypperPatch&quot;: { # Details related to a Zypper Patch. # Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+          &quot;category&quot;: &quot;A String&quot;, # The category of the patch.
+          &quot;patchName&quot;: &quot;A String&quot;, # The name of the patch.
+          &quot;severity&quot;: &quot;A String&quot;, # The severity specified for this patch
+          &quot;summary&quot;: &quot;A String&quot;, # Any summary information provided about this patch.
+        },
+      },
+      &quot;originType&quot;: &quot;A String&quot;, # The origin of this inventory item.
+      &quot;type&quot;: &quot;A String&quot;, # The specific type of inventory, correlating to its specific details.
+      &quot;updateTime&quot;: &quot;A String&quot;, # When this inventory item was last modified.
+    },
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The `Inventory` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory`
+  &quot;osInfo&quot;: { # Operating system information for the VM. # Output only. Base level operating system information for the VM.
+    &quot;architecture&quot;: &quot;A String&quot;, # The system architecture of the operating system.
+    &quot;hostname&quot;: &quot;A String&quot;, # The VM hostname.
+    &quot;kernelRelease&quot;: &quot;A String&quot;, # The kernel release of the operating system.
+    &quot;kernelVersion&quot;: &quot;A String&quot;, # The kernel version of the operating system.
+    &quot;longName&quot;: &quot;A String&quot;, # The operating system long name. For example &#x27;Debian GNU/Linux 9&#x27; or &#x27;Microsoft Window Server 2019 Datacenter&#x27;.
+    &quot;osconfigAgentVersion&quot;: &quot;A String&quot;, # The current version of the OS Config agent running on the VM.
+    &quot;shortName&quot;: &quot;A String&quot;, # The operating system short name. For example, &#x27;windows&#x27; or &#x27;debian&#x27;.
+    &quot;version&quot;: &quot;A String&quot;, # The version of the operating system.
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp of the last reported inventory for the VM.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)</code>
+  <pre>List inventory data for all VM instances in the specified zone.
+
+Args:
+  parent: string, Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/{instance}` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, only hyphen or dash character is supported to list inventories across VMs. (required)
+  filter: string, If provided, this field specifies the criteria that must be met by a `Inventory` API resource to be included in the response.
+  pageSize: integer, The maximum number of results to return.
+  pageToken: string, A pagination token returned from a previous call to `ListInventories` that indicates where this listing should continue from.
+  view: string, Inventory view indicating what information should be included in the inventory resource. If unspecified, the default view is BASIC.
+    Allowed values
+      INVENTORY_VIEW_UNSPECIFIED - The default value. The API defaults to the BASIC view.
+      BASIC - Returns the basic inventory information that includes `os_info`.
+      FULL - Returns all fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A response message for listing inventory data for all VMs in a specified location.
+  &quot;inventories&quot;: [ # List of inventory objects.
+    { # This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](/compute/docs/instances/os-inventory-management#data-collected).
+      &quot;items&quot;: { # Output only. Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.
+        &quot;a_key&quot;: { # A single piece of inventory on a VM.
+          &quot;availablePackage&quot;: { # Software package information of the operating system. # Software package available to be installed on the VM instance.
+            &quot;aptPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;cosPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a COS package.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;googetPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;qfePackage&quot;: { # Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering # Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering.
+              &quot;caption&quot;: &quot;A String&quot;, # A short textual description of the QFE update.
+              &quot;description&quot;: &quot;A String&quot;, # A textual description of the QFE update.
+              &quot;hotFixId&quot;: &quot;A String&quot;, # Unique identifier associated with a particular QFE update.
+              &quot;installTime&quot;: &quot;A String&quot;, # Date that the QFE update was installed. Mapped from installed_on field.
+            },
+            &quot;wuaPackage&quot;: { # Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated. # Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update.
+              &quot;categories&quot;: [ # The categories that are associated with this update package.
+                { # Categories specified by the Windows Update.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the windows update category.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the windows update category.
+                },
+              ],
+              &quot;description&quot;: &quot;A String&quot;, # The localized description of the update package.
+              &quot;kbArticleIds&quot;: [ # A collection of Microsoft Knowledge Base article IDs that are associated with the update package.
+                &quot;A String&quot;,
+              ],
+              &quot;lastDeploymentChangeTime&quot;: &quot;A String&quot;, # The last published date of the update, in (UTC) date and time.
+              &quot;moreInfoUrls&quot;: [ # A collection of URLs that provide more information about the update package.
+                &quot;A String&quot;,
+              ],
+              &quot;revisionNumber&quot;: 42, # The revision number of this update package.
+              &quot;supportUrl&quot;: &quot;A String&quot;, # A hyperlink to the language-specific support information for the update.
+              &quot;title&quot;: &quot;A String&quot;, # The localized title of the update package.
+              &quot;updateId&quot;: &quot;A String&quot;, # Gets the identifier of an update package. Stays the same across revisions.
+            },
+            &quot;yumPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;zypperPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;zypperPatch&quot;: { # Details related to a Zypper Patch. # Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+              &quot;category&quot;: &quot;A String&quot;, # The category of the patch.
+              &quot;patchName&quot;: &quot;A String&quot;, # The name of the patch.
+              &quot;severity&quot;: &quot;A String&quot;, # The severity specified for this patch
+              &quot;summary&quot;: &quot;A String&quot;, # Any summary information provided about this patch.
+            },
+          },
+          &quot;createTime&quot;: &quot;A String&quot;, # When this inventory item was first detected.
+          &quot;id&quot;: &quot;A String&quot;, # Identifier for this item, unique across items for this VM.
+          &quot;installedPackage&quot;: { # Software package information of the operating system. # Software package present on the VM instance.
+            &quot;aptPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;cosPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a COS package.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;googetPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;qfePackage&quot;: { # Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering # Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering.
+              &quot;caption&quot;: &quot;A String&quot;, # A short textual description of the QFE update.
+              &quot;description&quot;: &quot;A String&quot;, # A textual description of the QFE update.
+              &quot;hotFixId&quot;: &quot;A String&quot;, # Unique identifier associated with a particular QFE update.
+              &quot;installTime&quot;: &quot;A String&quot;, # Date that the QFE update was installed. Mapped from installed_on field.
+            },
+            &quot;wuaPackage&quot;: { # Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated. # Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update.
+              &quot;categories&quot;: [ # The categories that are associated with this update package.
+                { # Categories specified by the Windows Update.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the windows update category.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the windows update category.
+                },
+              ],
+              &quot;description&quot;: &quot;A String&quot;, # The localized description of the update package.
+              &quot;kbArticleIds&quot;: [ # A collection of Microsoft Knowledge Base article IDs that are associated with the update package.
+                &quot;A String&quot;,
+              ],
+              &quot;lastDeploymentChangeTime&quot;: &quot;A String&quot;, # The last published date of the update, in (UTC) date and time.
+              &quot;moreInfoUrls&quot;: [ # A collection of URLs that provide more information about the update package.
+                &quot;A String&quot;,
+              ],
+              &quot;revisionNumber&quot;: 42, # The revision number of this update package.
+              &quot;supportUrl&quot;: &quot;A String&quot;, # A hyperlink to the language-specific support information for the update.
+              &quot;title&quot;: &quot;A String&quot;, # The localized title of the update package.
+              &quot;updateId&quot;: &quot;A String&quot;, # Gets the identifier of an update package. Stays the same across revisions.
+            },
+            &quot;yumPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;zypperPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+              &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+              &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+              &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+            },
+            &quot;zypperPatch&quot;: { # Details related to a Zypper Patch. # Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+              &quot;category&quot;: &quot;A String&quot;, # The category of the patch.
+              &quot;patchName&quot;: &quot;A String&quot;, # The name of the patch.
+              &quot;severity&quot;: &quot;A String&quot;, # The severity specified for this patch
+              &quot;summary&quot;: &quot;A String&quot;, # Any summary information provided about this patch.
+            },
+          },
+          &quot;originType&quot;: &quot;A String&quot;, # The origin of this inventory item.
+          &quot;type&quot;: &quot;A String&quot;, # The specific type of inventory, correlating to its specific details.
+          &quot;updateTime&quot;: &quot;A String&quot;, # When this inventory item was last modified.
+        },
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The `Inventory` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory`
+      &quot;osInfo&quot;: { # Operating system information for the VM. # Output only. Base level operating system information for the VM.
+        &quot;architecture&quot;: &quot;A String&quot;, # The system architecture of the operating system.
+        &quot;hostname&quot;: &quot;A String&quot;, # The VM hostname.
+        &quot;kernelRelease&quot;: &quot;A String&quot;, # The kernel release of the operating system.
+        &quot;kernelVersion&quot;: &quot;A String&quot;, # The kernel version of the operating system.
+        &quot;longName&quot;: &quot;A String&quot;, # The operating system long name. For example &#x27;Debian GNU/Linux 9&#x27; or &#x27;Microsoft Window Server 2019 Datacenter&#x27;.
+        &quot;osconfigAgentVersion&quot;: &quot;A String&quot;, # The current version of the OS Config agent running on the VM.
+        &quot;shortName&quot;: &quot;A String&quot;, # The operating system short name. For example, &#x27;windows&#x27; or &#x27;debian&#x27;.
+        &quot;version&quot;: &quot;A String&quot;, # The version of the operating system.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp of the last reported inventory for the VM.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of inventory objects.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html b/docs/dyn/osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html
new file mode 100644
index 0000000..e2a3866
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html
@@ -0,0 +1,229 @@
+<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="osconfig_v1alpha.html">OS Config API</a> . <a href="osconfig_v1alpha.projects.html">projects</a> . <a href="osconfig_v1alpha.projects.locations.html">locations</a> . <a href="osconfig_v1alpha.projects.locations.instances.html">instances</a> . <a href="osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html">vulnerabilityReports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the vulnerability report for the specified VM instance. Only VMs with inventory data have vulnerability reports associated with them.</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 vulnerability reports for all VM instances in the specified zone.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the vulnerability report for the specified VM instance. Only VMs with inventory data have vulnerability reports associated with them.
+
+Args:
+  name: string, Required. API resource name for vulnerability resource. Format: `projects/{project}/locations/{location}/instances/{instance}/vulnerabilityReport` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either Compute Engine `instance-id` or `instance-name` can be provided. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](/compute/docs/instances/os-inventory-management#vulnerability-reports).
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when the last vulnerability report was generated for the VM.
+  &quot;vulnerabilities&quot;: [ # Output only. List of vulnerabilities affecting the VM.
+    { # A vulnerability affecting the VM instance.
+      &quot;availableInventoryItemIds&quot;: [ # Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. If there is no available fix, the field is empty. The `inventory_item` value specifies the latest `SoftwarePackage` available to the VM that fixes the vulnerability.
+        &quot;A String&quot;,
+      ],
+      &quot;createTime&quot;: &quot;A String&quot;, # The timestamp for when the vulnerability was first detected.
+      &quot;details&quot;: { # Contains metadata information for the vulnerability. This information is collected from the upstream feed of the operating system. # Contains metadata as per the upstream feed of the operating system and NVD.
+        &quot;cve&quot;: &quot;A String&quot;, # The CVE of the vulnerability. CVE cannot be empty and the combination of should be unique across vulnerabilities for a VM.
+        &quot;cvssV2Score&quot;: 3.14, # The CVSS V2 score of this vulnerability. CVSS V2 score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+        &quot;cvssV3&quot;: { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability from NVD.
+          &quot;attackComplexity&quot;: &quot;A String&quot;, # This metric describes the conditions beyond the attacker&#x27;s control that must exist in order to exploit the vulnerability.
+          &quot;attackVector&quot;: &quot;A String&quot;, # This metric reflects the context by which vulnerability exploitation is possible.
+          &quot;availabilityImpact&quot;: &quot;A String&quot;, # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.
+          &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores. https://www.first.org/cvss/specification-document#Base-Metrics
+          &quot;confidentialityImpact&quot;: &quot;A String&quot;, # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.
+          &quot;exploitabilityScore&quot;: 3.14, # The Exploitability sub-score equation is derived from the Base Exploitability metrics. https://www.first.org/cvss/specification-document#2-1-Exploitability-Metrics
+          &quot;impactScore&quot;: 3.14, # The Impact sub-score equation is derived from the Base Impact metrics.
+          &quot;integrityImpact&quot;: &quot;A String&quot;, # This metric measures the impact to integrity of a successfully exploited vulnerability.
+          &quot;privilegesRequired&quot;: &quot;A String&quot;, # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.
+          &quot;scope&quot;: &quot;A String&quot;, # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.
+          &quot;userInteraction&quot;: &quot;A String&quot;, # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.
+        },
+        &quot;description&quot;: &quot;A String&quot;, # The note or description describing the vulnerability from the distro.
+        &quot;references&quot;: [ # Corresponds to the references attached to the `VulnerabilityDetails`.
+          { # A reference for this vulnerability.
+            &quot;url&quot;: &quot;A String&quot;, # The url of the reference.
+          },
+        ],
+        &quot;severity&quot;: &quot;A String&quot;, # Assigned severity/impact ranking from the distro.
+      },
+      &quot;installedInventoryItemIds&quot;: [ # Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM. This field displays the inventory items affected by this vulnerability. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. For some distros, this field may be empty.
+        &quot;A String&quot;,
+      ],
+      &quot;updateTime&quot;: &quot;A String&quot;, # The timestamp for when the vulnerability was last modified.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>List vulnerability reports for all VM instances in the specified zone.
+
+Args:
+  parent: string, Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/{instance}` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, only `-` character is supported to list vulnerability reports across VMs. (required)
+  filter: string, If provided, this field specifies the criteria that must be met by a `vulnerabilityReport` API resource to be included in the response.
+  pageSize: integer, The maximum number of results to return.
+  pageToken: string, A pagination token returned from a previous call to `ListVulnerabilityReports` that indicates where this listing should continue from.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A response message for listing vulnerability reports for all VM instances in the specified location.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of vulnerabilityReports object.
+  &quot;vulnerabilityReports&quot;: [ # List of vulnerabilityReport objects.
+    { # This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](/compute/docs/instances/os-inventory-management#vulnerability-reports).
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when the last vulnerability report was generated for the VM.
+      &quot;vulnerabilities&quot;: [ # Output only. List of vulnerabilities affecting the VM.
+        { # A vulnerability affecting the VM instance.
+          &quot;availableInventoryItemIds&quot;: [ # Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. If there is no available fix, the field is empty. The `inventory_item` value specifies the latest `SoftwarePackage` available to the VM that fixes the vulnerability.
+            &quot;A String&quot;,
+          ],
+          &quot;createTime&quot;: &quot;A String&quot;, # The timestamp for when the vulnerability was first detected.
+          &quot;details&quot;: { # Contains metadata information for the vulnerability. This information is collected from the upstream feed of the operating system. # Contains metadata as per the upstream feed of the operating system and NVD.
+            &quot;cve&quot;: &quot;A String&quot;, # The CVE of the vulnerability. CVE cannot be empty and the combination of should be unique across vulnerabilities for a VM.
+            &quot;cvssV2Score&quot;: 3.14, # The CVSS V2 score of this vulnerability. CVSS V2 score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+            &quot;cvssV3&quot;: { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability from NVD.
+              &quot;attackComplexity&quot;: &quot;A String&quot;, # This metric describes the conditions beyond the attacker&#x27;s control that must exist in order to exploit the vulnerability.
+              &quot;attackVector&quot;: &quot;A String&quot;, # This metric reflects the context by which vulnerability exploitation is possible.
+              &quot;availabilityImpact&quot;: &quot;A String&quot;, # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.
+              &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores. https://www.first.org/cvss/specification-document#Base-Metrics
+              &quot;confidentialityImpact&quot;: &quot;A String&quot;, # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.
+              &quot;exploitabilityScore&quot;: 3.14, # The Exploitability sub-score equation is derived from the Base Exploitability metrics. https://www.first.org/cvss/specification-document#2-1-Exploitability-Metrics
+              &quot;impactScore&quot;: 3.14, # The Impact sub-score equation is derived from the Base Impact metrics.
+              &quot;integrityImpact&quot;: &quot;A String&quot;, # This metric measures the impact to integrity of a successfully exploited vulnerability.
+              &quot;privilegesRequired&quot;: &quot;A String&quot;, # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.
+              &quot;scope&quot;: &quot;A String&quot;, # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.
+              &quot;userInteraction&quot;: &quot;A String&quot;, # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.
+            },
+            &quot;description&quot;: &quot;A String&quot;, # The note or description describing the vulnerability from the distro.
+            &quot;references&quot;: [ # Corresponds to the references attached to the `VulnerabilityDetails`.
+              { # A reference for this vulnerability.
+                &quot;url&quot;: &quot;A String&quot;, # The url of the reference.
+              },
+            ],
+            &quot;severity&quot;: &quot;A String&quot;, # Assigned severity/impact ranking from the distro.
+          },
+          &quot;installedInventoryItemIds&quot;: [ # Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM. This field displays the inventory items affected by this vulnerability. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. For some distros, this field may be empty.
+            &quot;A String&quot;,
+          ],
+          &quot;updateTime&quot;: &quot;A String&quot;, # The timestamp for when the vulnerability was last modified.
+        },
+      ],
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.html b/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.html
new file mode 100644
index 0000000..2c24de6
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.html
@@ -0,0 +1,1400 @@
+<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="osconfig_v1alpha.html">OS Config API</a> . <a href="osconfig_v1alpha.projects.html">projects</a> . <a href="osconfig_v1alpha.projects.locations.html">locations</a> . <a href="osconfig_v1alpha.projects.locations.osPolicyAssignments.html">osPolicyAssignments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="osconfig_v1alpha.projects.locations.osPolicyAssignments.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body=None, osPolicyAssignmentId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieve an existing OS policy assignment. This method always returns the latest revision. In order to retrieve a previous revision of the assignment, also provide the revision ID in the `name` parameter.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">List the OS policy assignments under the parent resource. For each OS policy assignment, the latest revision is returned.</p>
+<p class="toc_element">
+  <code><a href="#listRevisions">listRevisions(name, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">List the OS policy assignment revisions for a given OS policy assignment.</p>
+<p class="toc_element">
+  <code><a href="#listRevisions_next">listRevisions_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="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, osPolicyAssignmentId=None, x__xgafv=None)</code>
+  <pre>Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
+
+Args:
+  parent: string, Required. The parent resource name in the form: projects/{project}/locations/{location} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+  &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
+  &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
+  &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
+  &quot;instanceFilter&quot;: { # Message to represent the filters to select VMs for an assignment # Required. Filter to select VMs.
+    &quot;all&quot;: True or False, # Target all VMs in the project. If true, no other criteria is permitted.
+    &quot;exclusionLabels&quot;: [ # List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM. This filter is applied last in the filtering chain and therefore a VM is guaranteed to be excluded if it satisfies one of the below label sets.
+      { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+        &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;inclusionLabels&quot;: [ # List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.
+      { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+        &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;osShortNames&quot;: [ # A VM is included if it&#x27;s OS short name matches with any of the values provided in this list.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.
+  &quot;osPolicies&quot;: [ # Required. List of OS policies to be applied to the VMs.
+    { # An OS policy defines the desired state configuration for a VM.
+      &quot;allowNoResourceGroupMatch&quot;: True or False, # This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.
+      &quot;description&quot;: &quot;A String&quot;, # Policy description. Length of the description is limited to 1024 characters.
+      &quot;id&quot;: &quot;A String&quot;, # Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.
+      &quot;mode&quot;: &quot;A String&quot;, # Required. Policy mode
+      &quot;resourceGroups&quot;: [ # Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`
+        { # Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.
+          &quot;osFilter&quot;: { # The `OSFilter` is used to specify the OS filtering criteria for the resource group. # Used to specify the OS filter for a resource group
+            &quot;osShortName&quot;: &quot;A String&quot;, # This should match OS short name emitted by the OS inventory agent. An empty value matches any OS.
+            &quot;osVersion&quot;: &quot;A String&quot;, # This value should match the version emitted by the OS inventory agent. Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*`
+          },
+          &quot;resources&quot;: [ # Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.
+            { # An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.
+              &quot;exec&quot;: { # A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen. # Exec resource
+                &quot;enforce&quot;: { # A file or script to execute. # What to run to bring this resource into the desired state. An exit code of 100 indicates &quot;success&quot;, any other exit code indicates a failure running enforce.
+                  &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                  &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                },
+                &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
+                  &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                  &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                },
+              },
+              &quot;file&quot;: { # A resource that manages the state of a file. # File resource
+                &quot;content&quot;: &quot;A String&quot;, # A a file with this content. The size of the content is limited to 1024 characters.
+                &quot;file&quot;: { # A remote or local file. # A remote or local source.
+                  &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                  &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                    &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                    &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                    &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                  },
+                  &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                  &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                    &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                    &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                  },
+                },
+                &quot;path&quot;: &quot;A String&quot;, # Required. The absolute path of the file within the VM.
+                &quot;permissions&quot;: &quot;A String&quot;, # Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
+                &quot;state&quot;: &quot;A String&quot;, # Required. Desired state of the file.
+              },
+              &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.
+              &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
+                &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                  &quot;source&quot;: { # A remote or local file. # Required. A deb package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
+                &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
+                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                  &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+              },
+              &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
+                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                  &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
+                  &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
+                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                  &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
+                },
+                &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
+                  &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+                },
+                &quot;yum&quot;: { # Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`. # A Yum Repository.
+                  &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                  &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                  &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.
+                },
+                &quot;zypper&quot;: { # Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`. # A Zypper Repository.
+                  &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                  &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                  &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.
+                },
+              },
+            },
+          ],
+        },
+      ],
+    },
+  ],
+  &quot;reconciling&quot;: True or False, # Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING
+  &quot;revisionCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp that the revision was created.
+  &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment
+  &quot;rollout&quot;: { # Message to configure the rollout at the zonal level for the OS policy assignment. # Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;minWaitDuration&quot;: &quot;A String&quot;, # Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.
+  },
+  &quot;rolloutState&quot;: &quot;A String&quot;, # Output only. OS policy assignment rollout state
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. Server generated unique id for the OS policy assignment resource.
+}
+
+  osPolicyAssignmentId: string, Required. The logical name of the OS policy assignment in the project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.
+  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="delete">delete(name, x__xgafv=None)</code>
+  <pre>Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
+
+Args:
+  name: string, Required. The name of the OS policy assignment to be deleted (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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="get">get(name, x__xgafv=None)</code>
+  <pre>Retrieve an existing OS policy assignment. This method always returns the latest revision. In order to retrieve a previous revision of the assignment, also provide the revision ID in the `name` parameter.
+
+Args:
+  name: string, Required. The resource name of OS policy assignment. Format: `projects/{project}/locations/{location}/osPolicyAssignments/{os_policy_assignment}@{revisionId}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+  &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
+  &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
+  &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
+  &quot;instanceFilter&quot;: { # Message to represent the filters to select VMs for an assignment # Required. Filter to select VMs.
+    &quot;all&quot;: True or False, # Target all VMs in the project. If true, no other criteria is permitted.
+    &quot;exclusionLabels&quot;: [ # List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM. This filter is applied last in the filtering chain and therefore a VM is guaranteed to be excluded if it satisfies one of the below label sets.
+      { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+        &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;inclusionLabels&quot;: [ # List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.
+      { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+        &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;osShortNames&quot;: [ # A VM is included if it&#x27;s OS short name matches with any of the values provided in this list.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.
+  &quot;osPolicies&quot;: [ # Required. List of OS policies to be applied to the VMs.
+    { # An OS policy defines the desired state configuration for a VM.
+      &quot;allowNoResourceGroupMatch&quot;: True or False, # This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.
+      &quot;description&quot;: &quot;A String&quot;, # Policy description. Length of the description is limited to 1024 characters.
+      &quot;id&quot;: &quot;A String&quot;, # Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.
+      &quot;mode&quot;: &quot;A String&quot;, # Required. Policy mode
+      &quot;resourceGroups&quot;: [ # Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`
+        { # Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.
+          &quot;osFilter&quot;: { # The `OSFilter` is used to specify the OS filtering criteria for the resource group. # Used to specify the OS filter for a resource group
+            &quot;osShortName&quot;: &quot;A String&quot;, # This should match OS short name emitted by the OS inventory agent. An empty value matches any OS.
+            &quot;osVersion&quot;: &quot;A String&quot;, # This value should match the version emitted by the OS inventory agent. Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*`
+          },
+          &quot;resources&quot;: [ # Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.
+            { # An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.
+              &quot;exec&quot;: { # A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen. # Exec resource
+                &quot;enforce&quot;: { # A file or script to execute. # What to run to bring this resource into the desired state. An exit code of 100 indicates &quot;success&quot;, any other exit code indicates a failure running enforce.
+                  &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                  &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                },
+                &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
+                  &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                  &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                },
+              },
+              &quot;file&quot;: { # A resource that manages the state of a file. # File resource
+                &quot;content&quot;: &quot;A String&quot;, # A a file with this content. The size of the content is limited to 1024 characters.
+                &quot;file&quot;: { # A remote or local file. # A remote or local source.
+                  &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                  &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                    &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                    &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                    &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                  },
+                  &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                  &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                    &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                    &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                  },
+                },
+                &quot;path&quot;: &quot;A String&quot;, # Required. The absolute path of the file within the VM.
+                &quot;permissions&quot;: &quot;A String&quot;, # Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
+                &quot;state&quot;: &quot;A String&quot;, # Required. Desired state of the file.
+              },
+              &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.
+              &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
+                &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                  &quot;source&quot;: { # A remote or local file. # Required. A deb package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
+                &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
+                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                  &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+              },
+              &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
+                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                  &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
+                  &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
+                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                  &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
+                },
+                &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
+                  &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+                },
+                &quot;yum&quot;: { # Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`. # A Yum Repository.
+                  &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                  &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                  &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.
+                },
+                &quot;zypper&quot;: { # Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`. # A Zypper Repository.
+                  &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                  &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                  &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.
+                },
+              },
+            },
+          ],
+        },
+      ],
+    },
+  ],
+  &quot;reconciling&quot;: True or False, # Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING
+  &quot;revisionCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp that the revision was created.
+  &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment
+  &quot;rollout&quot;: { # Message to configure the rollout at the zonal level for the OS policy assignment. # Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;minWaitDuration&quot;: &quot;A String&quot;, # Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.
+  },
+  &quot;rolloutState&quot;: &quot;A String&quot;, # Output only. OS policy assignment rollout state
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. Server generated unique id for the OS policy assignment resource.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>List the OS policy assignments under the parent resource. For each OS policy assignment, the latest revision is returned.
+
+Args:
+  parent: string, Required. The parent resource name. (required)
+  pageSize: integer, The maximum number of assignments to return.
+  pageToken: string, A pagination token returned from a previous call to `ListOSPolicyAssignments` that indicates where this listing should continue from.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A response message for listing all assignments under given parent.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of OS policy assignments.
+  &quot;osPolicyAssignments&quot;: [ # The list of assignments
+    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+      &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
+      &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
+      &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
+      &quot;instanceFilter&quot;: { # Message to represent the filters to select VMs for an assignment # Required. Filter to select VMs.
+        &quot;all&quot;: True or False, # Target all VMs in the project. If true, no other criteria is permitted.
+        &quot;exclusionLabels&quot;: [ # List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM. This filter is applied last in the filtering chain and therefore a VM is guaranteed to be excluded if it satisfies one of the below label sets.
+          { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+            &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+          },
+        ],
+        &quot;inclusionLabels&quot;: [ # List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.
+          { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+            &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+          },
+        ],
+        &quot;osShortNames&quot;: [ # A VM is included if it&#x27;s OS short name matches with any of the values provided in this list.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.
+      &quot;osPolicies&quot;: [ # Required. List of OS policies to be applied to the VMs.
+        { # An OS policy defines the desired state configuration for a VM.
+          &quot;allowNoResourceGroupMatch&quot;: True or False, # This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.
+          &quot;description&quot;: &quot;A String&quot;, # Policy description. Length of the description is limited to 1024 characters.
+          &quot;id&quot;: &quot;A String&quot;, # Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.
+          &quot;mode&quot;: &quot;A String&quot;, # Required. Policy mode
+          &quot;resourceGroups&quot;: [ # Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`
+            { # Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.
+              &quot;osFilter&quot;: { # The `OSFilter` is used to specify the OS filtering criteria for the resource group. # Used to specify the OS filter for a resource group
+                &quot;osShortName&quot;: &quot;A String&quot;, # This should match OS short name emitted by the OS inventory agent. An empty value matches any OS.
+                &quot;osVersion&quot;: &quot;A String&quot;, # This value should match the version emitted by the OS inventory agent. Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*`
+              },
+              &quot;resources&quot;: [ # Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.
+                { # An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.
+                  &quot;exec&quot;: { # A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen. # Exec resource
+                    &quot;enforce&quot;: { # A file or script to execute. # What to run to bring this resource into the desired state. An exit code of 100 indicates &quot;success&quot;, any other exit code indicates a failure running enforce.
+                      &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                      &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                      &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                    },
+                    &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
+                      &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                      &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                      &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                    },
+                  },
+                  &quot;file&quot;: { # A resource that manages the state of a file. # File resource
+                    &quot;content&quot;: &quot;A String&quot;, # A a file with this content. The size of the content is limited to 1024 characters.
+                    &quot;file&quot;: { # A remote or local file. # A remote or local source.
+                      &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                      &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                        &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                        &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                        &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                      },
+                      &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                      &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                        &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                        &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                      },
+                    },
+                    &quot;path&quot;: &quot;A String&quot;, # Required. The absolute path of the file within the VM.
+                    &quot;permissions&quot;: &quot;A String&quot;, # Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
+                    &quot;state&quot;: &quot;A String&quot;, # Required. Desired state of the file.
+                  },
+                  &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.
+                  &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
+                    &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                    },
+                    &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
+                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                      &quot;source&quot;: { # A remote or local file. # Required. A deb package.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                    },
+                    &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
+                    &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                    },
+                    &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
+                      &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                    },
+                    &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
+                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                      &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                    },
+                    &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                    },
+                    &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                    },
+                  },
+                  &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
+                    &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                      &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
+                      &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
+                      &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
+                    },
+                    &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
+                      &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+                    },
+                    &quot;yum&quot;: { # Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`. # A Yum Repository.
+                      &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                      &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                      &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.
+                    },
+                    &quot;zypper&quot;: { # Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`. # A Zypper Repository.
+                      &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                      &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                      &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.
+                    },
+                  },
+                },
+              ],
+            },
+          ],
+        },
+      ],
+      &quot;reconciling&quot;: True or False, # Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING
+      &quot;revisionCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp that the revision was created.
+      &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment
+      &quot;rollout&quot;: { # Message to configure the rollout at the zonal level for the OS policy assignment. # Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted.
+        &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment.
+          &quot;fixed&quot;: 42, # Specifies a fixed value.
+          &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+        },
+        &quot;minWaitDuration&quot;: &quot;A String&quot;, # Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.
+      },
+      &quot;rolloutState&quot;: &quot;A String&quot;, # Output only. OS policy assignment rollout state
+      &quot;uid&quot;: &quot;A String&quot;, # Output only. Server generated unique id for the OS policy assignment resource.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listRevisions">listRevisions(name, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>List the OS policy assignment revisions for a given OS policy assignment.
+
+Args:
+  name: string, Required. The name of the OS policy assignment to list revisions for. (required)
+  pageSize: integer, The maximum number of revisions to return.
+  pageToken: string, A pagination token returned from a previous call to `ListOSPolicyAssignmentRevisions` that indicates where this listing should continue from.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A response message for listing all revisions for a OS policy assignment.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of OS policy assignment revisions.
+  &quot;osPolicyAssignments&quot;: [ # The OS policy assignment revisions
+    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+      &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
+      &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
+      &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
+      &quot;instanceFilter&quot;: { # Message to represent the filters to select VMs for an assignment # Required. Filter to select VMs.
+        &quot;all&quot;: True or False, # Target all VMs in the project. If true, no other criteria is permitted.
+        &quot;exclusionLabels&quot;: [ # List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM. This filter is applied last in the filtering chain and therefore a VM is guaranteed to be excluded if it satisfies one of the below label sets.
+          { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+            &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+          },
+        ],
+        &quot;inclusionLabels&quot;: [ # List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.
+          { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+            &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+          },
+        ],
+        &quot;osShortNames&quot;: [ # A VM is included if it&#x27;s OS short name matches with any of the values provided in this list.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.
+      &quot;osPolicies&quot;: [ # Required. List of OS policies to be applied to the VMs.
+        { # An OS policy defines the desired state configuration for a VM.
+          &quot;allowNoResourceGroupMatch&quot;: True or False, # This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.
+          &quot;description&quot;: &quot;A String&quot;, # Policy description. Length of the description is limited to 1024 characters.
+          &quot;id&quot;: &quot;A String&quot;, # Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.
+          &quot;mode&quot;: &quot;A String&quot;, # Required. Policy mode
+          &quot;resourceGroups&quot;: [ # Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`
+            { # Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.
+              &quot;osFilter&quot;: { # The `OSFilter` is used to specify the OS filtering criteria for the resource group. # Used to specify the OS filter for a resource group
+                &quot;osShortName&quot;: &quot;A String&quot;, # This should match OS short name emitted by the OS inventory agent. An empty value matches any OS.
+                &quot;osVersion&quot;: &quot;A String&quot;, # This value should match the version emitted by the OS inventory agent. Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*`
+              },
+              &quot;resources&quot;: [ # Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.
+                { # An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.
+                  &quot;exec&quot;: { # A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen. # Exec resource
+                    &quot;enforce&quot;: { # A file or script to execute. # What to run to bring this resource into the desired state. An exit code of 100 indicates &quot;success&quot;, any other exit code indicates a failure running enforce.
+                      &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                      &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                      &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                    },
+                    &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
+                      &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                      &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                      &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                    },
+                  },
+                  &quot;file&quot;: { # A resource that manages the state of a file. # File resource
+                    &quot;content&quot;: &quot;A String&quot;, # A a file with this content. The size of the content is limited to 1024 characters.
+                    &quot;file&quot;: { # A remote or local file. # A remote or local source.
+                      &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                      &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                        &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                        &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                        &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                      },
+                      &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                      &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                        &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                        &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                      },
+                    },
+                    &quot;path&quot;: &quot;A String&quot;, # Required. The absolute path of the file within the VM.
+                    &quot;permissions&quot;: &quot;A String&quot;, # Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
+                    &quot;state&quot;: &quot;A String&quot;, # Required. Desired state of the file.
+                  },
+                  &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.
+                  &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
+                    &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                    },
+                    &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
+                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                      &quot;source&quot;: { # A remote or local file. # Required. A deb package.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                    },
+                    &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
+                    &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                    },
+                    &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
+                      &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                    },
+                    &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
+                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                      &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
+                        &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                        &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                          &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                        },
+                        &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                        &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                          &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                          &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                        },
+                      },
+                    },
+                    &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                    },
+                    &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                    },
+                  },
+                  &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
+                    &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                      &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
+                      &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
+                      &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
+                    },
+                    &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
+                      &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
+                      &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+                    },
+                    &quot;yum&quot;: { # Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`. # A Yum Repository.
+                      &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                      &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                      &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.
+                    },
+                    &quot;zypper&quot;: { # Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`. # A Zypper Repository.
+                      &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                      &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                      &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                        &quot;A String&quot;,
+                      ],
+                      &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.
+                    },
+                  },
+                },
+              ],
+            },
+          ],
+        },
+      ],
+      &quot;reconciling&quot;: True or False, # Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING
+      &quot;revisionCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp that the revision was created.
+      &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment
+      &quot;rollout&quot;: { # Message to configure the rollout at the zonal level for the OS policy assignment. # Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted.
+        &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment.
+          &quot;fixed&quot;: 42, # Specifies a fixed value.
+          &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+        },
+        &quot;minWaitDuration&quot;: &quot;A String&quot;, # Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.
+      },
+      &quot;rolloutState&quot;: &quot;A String&quot;, # Output only. OS policy assignment rollout state
+      &quot;uid&quot;: &quot;A String&quot;, # Output only. Server generated unique id for the OS policy assignment resource.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listRevisions_next">listRevisions_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="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>Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
+
+Args:
+  name: string, Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+  &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
+  &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
+  &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
+  &quot;instanceFilter&quot;: { # Message to represent the filters to select VMs for an assignment # Required. Filter to select VMs.
+    &quot;all&quot;: True or False, # Target all VMs in the project. If true, no other criteria is permitted.
+    &quot;exclusionLabels&quot;: [ # List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM. This filter is applied last in the filtering chain and therefore a VM is guaranteed to be excluded if it satisfies one of the below label sets.
+      { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+        &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;inclusionLabels&quot;: [ # List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.
+      { # Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.
+        &quot;labels&quot;: { # Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;osShortNames&quot;: [ # A VM is included if it&#x27;s OS short name matches with any of the values provided in this list.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.
+  &quot;osPolicies&quot;: [ # Required. List of OS policies to be applied to the VMs.
+    { # An OS policy defines the desired state configuration for a VM.
+      &quot;allowNoResourceGroupMatch&quot;: True or False, # This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.
+      &quot;description&quot;: &quot;A String&quot;, # Policy description. Length of the description is limited to 1024 characters.
+      &quot;id&quot;: &quot;A String&quot;, # Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.
+      &quot;mode&quot;: &quot;A String&quot;, # Required. Policy mode
+      &quot;resourceGroups&quot;: [ # Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`
+        { # Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.
+          &quot;osFilter&quot;: { # The `OSFilter` is used to specify the OS filtering criteria for the resource group. # Used to specify the OS filter for a resource group
+            &quot;osShortName&quot;: &quot;A String&quot;, # This should match OS short name emitted by the OS inventory agent. An empty value matches any OS.
+            &quot;osVersion&quot;: &quot;A String&quot;, # This value should match the version emitted by the OS inventory agent. Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*`
+          },
+          &quot;resources&quot;: [ # Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.
+            { # An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.
+              &quot;exec&quot;: { # A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen. # Exec resource
+                &quot;enforce&quot;: { # A file or script to execute. # What to run to bring this resource into the desired state. An exit code of 100 indicates &quot;success&quot;, any other exit code indicates a failure running enforce.
+                  &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                  &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                },
+                &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
+                  &quot;args&quot;: [ # Optional arguments to pass to the source during execution.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;file&quot;: { # A remote or local file. # A remote or local file.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                  &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
+                },
+              },
+              &quot;file&quot;: { # A resource that manages the state of a file. # File resource
+                &quot;content&quot;: &quot;A String&quot;, # A a file with this content. The size of the content is limited to 1024 characters.
+                &quot;file&quot;: { # A remote or local file. # A remote or local source.
+                  &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                  &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                    &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                    &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                    &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                  },
+                  &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                  &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                    &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                    &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                  },
+                },
+                &quot;path&quot;: &quot;A String&quot;, # Required. The absolute path of the file within the VM.
+                &quot;permissions&quot;: &quot;A String&quot;, # Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
+                &quot;state&quot;: &quot;A String&quot;, # Required. Desired state of the file.
+              },
+              &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.
+              &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
+                &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                  &quot;source&quot;: { # A remote or local file. # Required. A deb package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
+                &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
+                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                  &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
+                    &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
+                    &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
+                      &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                      &quot;generation&quot;: &quot;A String&quot;, # Generation number of the Cloud Storage object.
+                      &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                    },
+                    &quot;localPath&quot;: &quot;A String&quot;, # A local path within the VM to use.
+                    &quot;remote&quot;: { # Specifies a file available via some URI. # A generic remote file.
+                      &quot;sha256Checksum&quot;: &quot;A String&quot;, # SHA256 checksum of the remote file.
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
+                    },
+                  },
+                },
+                &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+                &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
+                },
+              },
+              &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
+                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                  &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
+                  &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
+                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                  &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
+                },
+                &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
+                  &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
+                  &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+                },
+                &quot;yum&quot;: { # Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`. # A Yum Repository.
+                  &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                  &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                  &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.
+                },
+                &quot;zypper&quot;: { # Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`. # A Zypper Repository.
+                  &quot;baseUrl&quot;: &quot;A String&quot;, # Required. The location of the repository directory.
+                  &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
+                  &quot;gpgKeys&quot;: [ # URIs of GPG keys.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;id&quot;: &quot;A String&quot;, # Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.
+                },
+              },
+            },
+          ],
+        },
+      ],
+    },
+  ],
+  &quot;reconciling&quot;: True or False, # Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING
+  &quot;revisionCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp that the revision was created.
+  &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment
+  &quot;rollout&quot;: { # Message to configure the rollout at the zonal level for the OS policy assignment. # Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;minWaitDuration&quot;: &quot;A String&quot;, # Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.
+  },
+  &quot;rolloutState&quot;: &quot;A String&quot;, # Output only. OS policy assignment rollout state
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. Server generated unique id for the OS policy assignment resource.
+}
+
+  updateMask: string, Optional. Field mask that controls which fields of the assignment should be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.operations.html b/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.operations.html
new file mode 100644
index 0000000..50202d0
--- /dev/null
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.operations.html
@@ -0,0 +1,151 @@
+<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="osconfig_v1alpha.html">OS Config API</a> . <a href="osconfig_v1alpha.projects.html">projects</a> . <a href="osconfig_v1alpha.projects.locations.html">locations</a> . <a href="osconfig_v1alpha.projects.locations.osPolicyAssignments.html">osPolicyAssignments</a> . <a href="osconfig_v1alpha.projects.locations.osPolicyAssignments.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.</p>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(name, body=None, x__xgafv=None)</code>
+  <pre>Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn&#x27;t support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message for Operations.CancelOperation.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/servicemanagement_v1.services.configs.html b/docs/dyn/servicemanagement_v1.services.configs.html
index d964ba4..1dd1675 100644
--- a/docs/dyn/servicemanagement_v1.services.configs.html
+++ b/docs/dyn/servicemanagement_v1.services.configs.html
@@ -190,7 +190,6 @@
         &quot;deadline&quot;: 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.
         &quot;disableAuth&quot;: True or False, # When disable_auth is true, a JWT ID token won&#x27;t be generated and the original &quot;Authorization&quot; HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.
         &quot;jwtAudience&quot;: &quot;A String&quot;, # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP &quot;authorization&quot; header, and sent to the backend.
-        &quot;minDeadline&quot;: 3.14, # Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.
         &quot;operationDeadline&quot;: 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline.
         &quot;pathTranslation&quot;: &quot;A String&quot;,
         &quot;protocol&quot;: &quot;A String&quot;, # The protocol used for sending a request to the backend. The supported values are &quot;http/1.1&quot; and &quot;h2&quot;. The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to &quot;h2&quot; for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.
@@ -656,7 +655,6 @@
         &quot;deadline&quot;: 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.
         &quot;disableAuth&quot;: True or False, # When disable_auth is true, a JWT ID token won&#x27;t be generated and the original &quot;Authorization&quot; HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.
         &quot;jwtAudience&quot;: &quot;A String&quot;, # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP &quot;authorization&quot; header, and sent to the backend.
-        &quot;minDeadline&quot;: 3.14, # Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.
         &quot;operationDeadline&quot;: 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline.
         &quot;pathTranslation&quot;: &quot;A String&quot;,
         &quot;protocol&quot;: &quot;A String&quot;, # The protocol used for sending a request to the backend. The supported values are &quot;http/1.1&quot; and &quot;h2&quot;. The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to &quot;h2&quot; for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.
@@ -1134,7 +1132,6 @@
         &quot;deadline&quot;: 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.
         &quot;disableAuth&quot;: True or False, # When disable_auth is true, a JWT ID token won&#x27;t be generated and the original &quot;Authorization&quot; HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.
         &quot;jwtAudience&quot;: &quot;A String&quot;, # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP &quot;authorization&quot; header, and sent to the backend.
-        &quot;minDeadline&quot;: 3.14, # Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.
         &quot;operationDeadline&quot;: 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline.
         &quot;pathTranslation&quot;: &quot;A String&quot;,
         &quot;protocol&quot;: &quot;A String&quot;, # The protocol used for sending a request to the backend. The supported values are &quot;http/1.1&quot; and &quot;h2&quot;. The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to &quot;h2&quot; for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.
@@ -1612,7 +1609,6 @@
             &quot;deadline&quot;: 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.
             &quot;disableAuth&quot;: True or False, # When disable_auth is true, a JWT ID token won&#x27;t be generated and the original &quot;Authorization&quot; HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.
             &quot;jwtAudience&quot;: &quot;A String&quot;, # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP &quot;authorization&quot; header, and sent to the backend.
-            &quot;minDeadline&quot;: 3.14, # Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.
             &quot;operationDeadline&quot;: 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline.
             &quot;pathTranslation&quot;: &quot;A String&quot;,
             &quot;protocol&quot;: &quot;A String&quot;, # The protocol used for sending a request to the backend. The supported values are &quot;http/1.1&quot; and &quot;h2&quot;. The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to &quot;h2&quot; for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.
diff --git a/docs/dyn/servicemanagement_v1.services.html b/docs/dyn/servicemanagement_v1.services.html
index 0be9eaf..3d407ca 100644
--- a/docs/dyn/servicemanagement_v1.services.html
+++ b/docs/dyn/servicemanagement_v1.services.html
@@ -385,7 +385,6 @@
         &quot;deadline&quot;: 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.
         &quot;disableAuth&quot;: True or False, # When disable_auth is true, a JWT ID token won&#x27;t be generated and the original &quot;Authorization&quot; HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.
         &quot;jwtAudience&quot;: &quot;A String&quot;, # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP &quot;authorization&quot; header, and sent to the backend.
-        &quot;minDeadline&quot;: 3.14, # Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.
         &quot;operationDeadline&quot;: 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline.
         &quot;pathTranslation&quot;: &quot;A String&quot;,
         &quot;protocol&quot;: &quot;A String&quot;, # The protocol used for sending a request to the backend. The supported values are &quot;http/1.1&quot; and &quot;h2&quot;. The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to &quot;h2&quot; for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.
diff --git a/docs/dyn/spanner_v1.html b/docs/dyn/spanner_v1.html
index 7dbefa2..fca451c 100644
--- a/docs/dyn/spanner_v1.html
+++ b/docs/dyn/spanner_v1.html
@@ -80,6 +80,11 @@
 <p class="firstline">Returns the projects Resource.</p>
 
 <p class="toc_element">
+  <code><a href="spanner_v1.scans.html">scans()</a></code>
+</p>
+<p class="firstline">Returns the scans Resource.</p>
+
+<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
diff --git a/docs/dyn/spanner_v1.projects.instances.databases.html b/docs/dyn/spanner_v1.projects.instances.databases.html
index d9c966f..aa4b0dc 100644
--- a/docs/dyn/spanner_v1.projects.instances.databases.html
+++ b/docs/dyn/spanner_v1.projects.instances.databases.html
@@ -103,6 +103,9 @@
   <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.</p>
 <p class="toc_element">
+  <code><a href="#getScans">getScans(name, endTime=None, startTime=None, view=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Request a specific scan with Database-specific data for Cloud Key Visualizer.</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 Cloud Spanner databases.</p>
 <p class="toc_element">
@@ -307,6 +310,210 @@
 </div>
 
 <div class="method">
+    <code class="details" id="getScans">getScans(name, endTime=None, startTime=None, view=None, x__xgafv=None)</code>
+  <pre>Request a specific scan with Database-specific data for Cloud Key Visualizer.
+
+Args:
+  name: string, Required. The unique name of the scan containing the requested information, specific to the Database service implementing this interface. (required)
+  endTime: string, The upper bound for the time range to retrieve Scan data for.
+  startTime: string, These fields restrict the Database-specific information returned in the `Scan.data` field. If a `View` is provided that does not include the `Scan.data` field, these are ignored. This range of time must be entirely contained within the defined time range of the targeted scan. The lower bound for the time range to retrieve Scan data for.
+  view: string, Specifies which parts of the Scan should be returned in the response. Note, if left unspecified, the FULL view is assumed.
+    Allowed values
+      VIEW_UNSPECIFIED - Not specified, equivalent to SUMMARY.
+      SUMMARY - Server responses only include `name`, `details`, `start_time` and `end_time`. The default value. Note, the ListScans method may only use this view type, others view types are not supported.
+      FULL - Full representation of the scan is returned in the server response, including `data`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Scan is a structure which describes Cloud Key Visualizer scan information.
+  &quot;details&quot;: { # Additional information provided by the implementer.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;endTime&quot;: &quot;A String&quot;, # The upper bound for when the scan is defined.
+  &quot;name&quot;: &quot;A String&quot;, # The unique name of the scan, specific to the Database service implementing this interface.
+  &quot;scanData&quot;: { # ScanData contains Cloud Key Visualizer scan data used by the caller to construct a visualization. # Output only. Cloud Key Visualizer scan data. Note, this field is not available to the ListScans method.
+    &quot;data&quot;: { # Cloud Key Visualizer scan data. The range of time this information covers is captured via the above time range fields. Note, this field is not available to the ListScans method.
+      &quot;dataSourceEndToken&quot;: &quot;A String&quot;, # The token signifying the end of a data_source.
+      &quot;dataSourceSeparatorToken&quot;: &quot;A String&quot;, # The token delimiting a datasource name from the rest of a key in a data_source.
+      &quot;diagnosticMessages&quot;: [ # The list of messages (info, alerts, ...)
+        { # A message representing the key visualizer diagnostic messages.
+          &quot;info&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # Information about this diagnostic information.
+            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+          },
+          &quot;metric&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The metric.
+            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+          },
+          &quot;metricSpecific&quot;: True or False, # Whether this message is specific only for the current metric. By default Diagnostics are shown for all metrics, regardless which metric is the currently selected metric in the UI. However occasionally a metric will generate so many messages that the resulting visual clutter becomes overwhelming. In this case setting this to true, will show the diagnostic messages for that metric only if it is the currently selected metric.
+          &quot;severity&quot;: &quot;A String&quot;, # The severity of the diagnostic message.
+          &quot;shortMessage&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The short message.
+            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+          },
+        },
+      ],
+      &quot;endKeyStrings&quot;: [ # We discretize the entire keyspace into buckets. Assuming each bucket has an inclusive keyrange and covers keys from k(i) ... k(n). In this case k(n) would be an end key for a given range. end_key_string is the collection of all such end keys
+        &quot;A String&quot;,
+      ],
+      &quot;hasPii&quot;: True or False, # Whether this scan contains PII.
+      &quot;indexedKeys&quot;: [ # Keys of key ranges that contribute significantly to a given metric Can be thought of as heavy hitters.
+        &quot;A String&quot;,
+      ],
+      &quot;keySeparator&quot;: &quot;A String&quot;, # The token delimiting the key prefixes.
+      &quot;keyUnit&quot;: &quot;A String&quot;, # The unit for the key: e.g. &#x27;key&#x27; or &#x27;chunk&#x27;.
+      &quot;metrics&quot;: [ # The list of data objects for each metric.
+        { # A message representing the actual monitoring data, values for each key bucket over time, of a metric.
+          &quot;aggregation&quot;: &quot;A String&quot;, # The aggregation function used to aggregate each key bucket
+          &quot;category&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The category of the metric, e.g. &quot;Activity&quot;, &quot;Alerts&quot;, &quot;Reads&quot;, etc.
+            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+          },
+          &quot;derived&quot;: { # A message representing a derived metric. # The references to numerator and denominator metrics for a derived metric.
+            &quot;denominator&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The name of the denominator metric. e.g. &quot;rows&quot;.
+              &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+              &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+            },
+            &quot;numerator&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The name of the numerator metric. e.g. &quot;latency&quot;.
+              &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+              &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+            },
+          },
+          &quot;displayLabel&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The displayed label of the metric.
+            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+          },
+          &quot;hasNonzeroData&quot;: True or False, # Whether the metric has any non-zero data.
+          &quot;hotValue&quot;: 3.14, # The value that is considered hot for the metric. On a per metric basis hotness signals high utilization and something that might potentially be a cause for concern by the end user. hot_value is used to calibrate and scale visual color scales.
+          &quot;indexedHotKeys&quot;: { # The (sparse) mapping from time index to an IndexedHotKey message, representing those time intervals for which there are hot keys.
+            &quot;a_key&quot;: { # A message representing a (sparse) collection of hot keys for specific key buckets.
+              &quot;sparseHotKeys&quot;: { # A (sparse) mapping from key bucket index to the index of the specific hot row key for that key bucket. The index of the hot row key can be translated to the actual row key via the ScanData.VisualizationData.indexed_keys repeated field.
+                &quot;a_key&quot;: 42,
+              },
+            },
+          },
+          &quot;indexedKeyRangeInfos&quot;: { # The (sparse) mapping from time interval index to an IndexedKeyRangeInfos message, representing those time intervals for which there are informational messages concerning key ranges.
+            &quot;a_key&quot;: { # A message representing a (sparse) collection of KeyRangeInfos for specific key buckets.
+              &quot;keyRangeInfos&quot;: { # A (sparse) mapping from key bucket index to the KeyRangeInfos for that key bucket.
+                &quot;a_key&quot;: { # A message representing a list of specific information for multiple key ranges.
+                  &quot;infos&quot;: [ # The list individual KeyRangeInfos.
+                    { # A message representing information for a key range (possibly one key).
+                      &quot;contextValues&quot;: [ # The list of context values for this key range.
+                        { # A message representing context for a KeyRangeInfo, including a label, value, unit, and severity.
+                          &quot;label&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The label for the context value. e.g. &quot;latency&quot;.
+                            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                              &quot;a_key&quot;: &quot;A String&quot;,
+                            },
+                            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                          },
+                          &quot;severity&quot;: &quot;A String&quot;, # The severity of this context.
+                          &quot;unit&quot;: &quot;A String&quot;, # The unit of the context value.
+                          &quot;value&quot;: 3.14, # The value for the context.
+                        },
+                      ],
+                      &quot;endKeyIndex&quot;: 42, # The index of the end key in indexed_keys.
+                      &quot;info&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # Information about this key range, for all metrics.
+                        &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                          &quot;a_key&quot;: &quot;A String&quot;,
+                        },
+                        &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                        &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                      },
+                      &quot;keysCount&quot;: &quot;A String&quot;, # The number of keys this range covers.
+                      &quot;metric&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The name of the metric. e.g. &quot;latency&quot;.
+                        &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                          &quot;a_key&quot;: &quot;A String&quot;,
+                        },
+                        &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                        &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                      },
+                      &quot;startKeyIndex&quot;: 42, # The index of the start key in indexed_keys.
+                      &quot;unit&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The unit of the metric. This is an unstructured field and will be mapped as is to the user.
+                        &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                          &quot;a_key&quot;: &quot;A String&quot;,
+                        },
+                        &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                        &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                      },
+                      &quot;value&quot;: 3.14, # The value of the metric.
+                    },
+                  ],
+                  &quot;totalSize&quot;: 42, # The total size of the list of all KeyRangeInfos. This may be larger than the number of repeated messages above. If that is the case, this number may be used to determine how many are not being shown.
+                },
+              },
+            },
+          },
+          &quot;info&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # Information about the metric.
+            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+          },
+          &quot;matrix&quot;: { # A message representing a matrix of floats. # The data for the metric as a matrix.
+            &quot;rows&quot;: [ # The rows of the matrix.
+              { # A message representing a row of a matrix of floats.
+                &quot;cols&quot;: [ # The columns of the row.
+                  3.14,
+                ],
+              },
+            ],
+          },
+          &quot;unit&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The unit of the metric.
+            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+          },
+          &quot;visible&quot;: True or False, # Whether the metric is visible to the end user.
+        },
+      ],
+      &quot;prefixNodes&quot;: [ # The list of extracted key prefix nodes used in the key prefix hierarchy.
+        { # A message representing a key prefix node in the key prefix hierarchy. for eg. Bigtable keyspaces are lexicographically ordered mappings of keys to values. Keys often have a shared prefix structure where users use the keys to organize data. Eg ///employee In this case Keysight will possibly use one node for a company and reuse it for all employees that fall under the company. Doing so improves legibility in the UI.
+          &quot;dataSourceNode&quot;: True or False, # Whether this corresponds to a data_source name.
+          &quot;depth&quot;: 42, # The depth in the prefix hierarchy.
+          &quot;endIndex&quot;: 42, # The index of the end key bucket of the range that this node spans.
+          &quot;startIndex&quot;: 42, # The index of the start key bucket of the range that this node spans.
+          &quot;word&quot;: &quot;A String&quot;, # The string represented by the prefix node.
+        },
+      ],
+    },
+    &quot;endTime&quot;: &quot;A String&quot;, # The upper bound for when the contained data is defined.
+    &quot;startTime&quot;: &quot;A String&quot;, # A range of time (inclusive) for when the contained data is defined. The lower bound for when the contained data is defined.
+  },
+  &quot;startTime&quot;: &quot;A String&quot;, # A range of time (inclusive) for when the scan is defined. The lower bound for when the scan is defined.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>Lists Cloud Spanner databases.
 
diff --git a/docs/dyn/spanner_v1.projects.instances.databases.sessions.html b/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
index 5a34d9d..936dae8 100644
--- a/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
+++ b/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
@@ -421,14 +421,7 @@
         &quot;a_key&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
           &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
           &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-          &quot;structType&quot;: { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-            &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
-              { # Message representing a single field of a struct.
-                &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-                &quot;type&quot;: # Object with schema name: Type # The type of the field.
-              },
-            ],
-          },
+          &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
         },
       },
       &quot;params&quot;: { # Parameter names and values that bind to placeholders in the DML string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names can contain letters, numbers, and underscores. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `&quot;WHERE id &gt; @msg_id AND id &lt; @msg_id + 100&quot;` It is an error to execute a SQL statement with unbound parameters.
@@ -486,7 +479,11 @@
           &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
             { # Message representing a single field of a struct.
               &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-              &quot;type&quot;: # Object with schema name: Type # The type of the field.
+              &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
+                &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
+                &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
+                &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+              },
             },
           ],
         },
@@ -563,14 +560,7 @@
     &quot;a_key&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
       &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
       &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-      &quot;structType&quot;: { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-        &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
-          { # Message representing a single field of a struct.
-            &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-            &quot;type&quot;: # Object with schema name: Type # The type of the field.
-          },
-        ],
-      },
+      &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
     },
   },
   &quot;params&quot;: { # Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names must conform to the naming requirements of identifiers as specified at https://cloud.google.com/spanner/docs/lexical#identifiers. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `&quot;WHERE id &gt; @msg_id AND id &lt; @msg_id + 100&quot;` It is an error to execute a SQL statement with unbound parameters.
@@ -637,7 +627,11 @@
       &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
         { # Message representing a single field of a struct.
           &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-          &quot;type&quot;: # Object with schema name: Type # The type of the field.
+          &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
+            &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
+            &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
+            &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+          },
         },
       ],
     },
@@ -703,14 +697,7 @@
     &quot;a_key&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
       &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
       &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-      &quot;structType&quot;: { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-        &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
-          { # Message representing a single field of a struct.
-            &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-            &quot;type&quot;: # Object with schema name: Type # The type of the field.
-          },
-        ],
-      },
+      &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
     },
   },
   &quot;params&quot;: { # Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names must conform to the naming requirements of identifiers as specified at https://cloud.google.com/spanner/docs/lexical#identifiers. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `&quot;WHERE id &gt; @msg_id AND id &lt; @msg_id + 100&quot;` It is an error to execute a SQL statement with unbound parameters.
@@ -778,7 +765,11 @@
       &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
         { # Message representing a single field of a struct.
           &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-          &quot;type&quot;: # Object with schema name: Type # The type of the field.
+          &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
+            &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
+            &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
+            &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+          },
         },
       ],
     },
@@ -913,14 +904,7 @@
     &quot;a_key&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
       &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
       &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-      &quot;structType&quot;: { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-        &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
-          { # Message representing a single field of a struct.
-            &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-            &quot;type&quot;: # Object with schema name: Type # The type of the field.
-          },
-        ],
-      },
+      &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
     },
   },
   &quot;params&quot;: { # Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names can contain letters, numbers, and underscores. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `&quot;WHERE id &gt; @msg_id AND id &lt; @msg_id + 100&quot;` It is an error to execute a SQL statement with unbound parameters.
@@ -1176,7 +1160,11 @@
       &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
         { # Message representing a single field of a struct.
           &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-          &quot;type&quot;: # Object with schema name: Type # The type of the field.
+          &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
+            &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
+            &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
+            &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+          },
         },
       ],
     },
@@ -1348,7 +1336,11 @@
       &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
         { # Message representing a single field of a struct.
           &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-          &quot;type&quot;: # Object with schema name: Type # The type of the field.
+          &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
+            &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
+            &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
+            &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+          },
         },
       ],
     },
diff --git a/docs/dyn/spanner_v1.scans.html b/docs/dyn/spanner_v1.scans.html
new file mode 100644
index 0000000..61d0572
--- /dev/null
+++ b/docs/dyn/spanner_v1.scans.html
@@ -0,0 +1,316 @@
+<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="spanner_v1.html">Cloud Spanner API</a> . <a href="spanner_v1.scans.html">scans</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Return available scans given a Database-specific resource name.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)</code>
+  <pre>Return available scans given a Database-specific resource name.
+
+Args:
+  parent: string, Required. The unique name of the parent resource, specific to the Database service implementing this interface. (required)
+  filter: string, A filter expression to restrict the results based on information present in the available Scan collection. The filter applies to all fields within the Scan message except for `data`.
+  pageSize: integer, The maximum number of items to return.
+  pageToken: string, The next_page_token value returned from a previous List request, if any.
+  view: string, Specifies which parts of the Scan should be returned in the response. Note, only the SUMMARY view (the default) is currently supported for ListScans.
+    Allowed values
+      VIEW_UNSPECIFIED - Not specified, equivalent to SUMMARY.
+      SUMMARY - Server responses only include `name`, `details`, `start_time` and `end_time`. The default value. Note, the ListScans method may only use this view type, others view types are not supported.
+      FULL - Full representation of the scan is returned in the server response, including `data`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response method from the ListScans method.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results in the list.
+  &quot;scans&quot;: [ # Available scans based on the list query parameters.
+    { # Scan is a structure which describes Cloud Key Visualizer scan information.
+      &quot;details&quot;: { # Additional information provided by the implementer.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;endTime&quot;: &quot;A String&quot;, # The upper bound for when the scan is defined.
+      &quot;name&quot;: &quot;A String&quot;, # The unique name of the scan, specific to the Database service implementing this interface.
+      &quot;scanData&quot;: { # ScanData contains Cloud Key Visualizer scan data used by the caller to construct a visualization. # Output only. Cloud Key Visualizer scan data. Note, this field is not available to the ListScans method.
+        &quot;data&quot;: { # Cloud Key Visualizer scan data. The range of time this information covers is captured via the above time range fields. Note, this field is not available to the ListScans method.
+          &quot;dataSourceEndToken&quot;: &quot;A String&quot;, # The token signifying the end of a data_source.
+          &quot;dataSourceSeparatorToken&quot;: &quot;A String&quot;, # The token delimiting a datasource name from the rest of a key in a data_source.
+          &quot;diagnosticMessages&quot;: [ # The list of messages (info, alerts, ...)
+            { # A message representing the key visualizer diagnostic messages.
+              &quot;info&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # Information about this diagnostic information.
+                &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+              },
+              &quot;metric&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The metric.
+                &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+              },
+              &quot;metricSpecific&quot;: True or False, # Whether this message is specific only for the current metric. By default Diagnostics are shown for all metrics, regardless which metric is the currently selected metric in the UI. However occasionally a metric will generate so many messages that the resulting visual clutter becomes overwhelming. In this case setting this to true, will show the diagnostic messages for that metric only if it is the currently selected metric.
+              &quot;severity&quot;: &quot;A String&quot;, # The severity of the diagnostic message.
+              &quot;shortMessage&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The short message.
+                &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+              },
+            },
+          ],
+          &quot;endKeyStrings&quot;: [ # We discretize the entire keyspace into buckets. Assuming each bucket has an inclusive keyrange and covers keys from k(i) ... k(n). In this case k(n) would be an end key for a given range. end_key_string is the collection of all such end keys
+            &quot;A String&quot;,
+          ],
+          &quot;hasPii&quot;: True or False, # Whether this scan contains PII.
+          &quot;indexedKeys&quot;: [ # Keys of key ranges that contribute significantly to a given metric Can be thought of as heavy hitters.
+            &quot;A String&quot;,
+          ],
+          &quot;keySeparator&quot;: &quot;A String&quot;, # The token delimiting the key prefixes.
+          &quot;keyUnit&quot;: &quot;A String&quot;, # The unit for the key: e.g. &#x27;key&#x27; or &#x27;chunk&#x27;.
+          &quot;metrics&quot;: [ # The list of data objects for each metric.
+            { # A message representing the actual monitoring data, values for each key bucket over time, of a metric.
+              &quot;aggregation&quot;: &quot;A String&quot;, # The aggregation function used to aggregate each key bucket
+              &quot;category&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The category of the metric, e.g. &quot;Activity&quot;, &quot;Alerts&quot;, &quot;Reads&quot;, etc.
+                &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+              },
+              &quot;derived&quot;: { # A message representing a derived metric. # The references to numerator and denominator metrics for a derived metric.
+                &quot;denominator&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The name of the denominator metric. e.g. &quot;rows&quot;.
+                  &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                    &quot;a_key&quot;: &quot;A String&quot;,
+                  },
+                  &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                  &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                },
+                &quot;numerator&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The name of the numerator metric. e.g. &quot;latency&quot;.
+                  &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                    &quot;a_key&quot;: &quot;A String&quot;,
+                  },
+                  &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                  &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                },
+              },
+              &quot;displayLabel&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The displayed label of the metric.
+                &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+              },
+              &quot;hasNonzeroData&quot;: True or False, # Whether the metric has any non-zero data.
+              &quot;hotValue&quot;: 3.14, # The value that is considered hot for the metric. On a per metric basis hotness signals high utilization and something that might potentially be a cause for concern by the end user. hot_value is used to calibrate and scale visual color scales.
+              &quot;indexedHotKeys&quot;: { # The (sparse) mapping from time index to an IndexedHotKey message, representing those time intervals for which there are hot keys.
+                &quot;a_key&quot;: { # A message representing a (sparse) collection of hot keys for specific key buckets.
+                  &quot;sparseHotKeys&quot;: { # A (sparse) mapping from key bucket index to the index of the specific hot row key for that key bucket. The index of the hot row key can be translated to the actual row key via the ScanData.VisualizationData.indexed_keys repeated field.
+                    &quot;a_key&quot;: 42,
+                  },
+                },
+              },
+              &quot;indexedKeyRangeInfos&quot;: { # The (sparse) mapping from time interval index to an IndexedKeyRangeInfos message, representing those time intervals for which there are informational messages concerning key ranges.
+                &quot;a_key&quot;: { # A message representing a (sparse) collection of KeyRangeInfos for specific key buckets.
+                  &quot;keyRangeInfos&quot;: { # A (sparse) mapping from key bucket index to the KeyRangeInfos for that key bucket.
+                    &quot;a_key&quot;: { # A message representing a list of specific information for multiple key ranges.
+                      &quot;infos&quot;: [ # The list individual KeyRangeInfos.
+                        { # A message representing information for a key range (possibly one key).
+                          &quot;contextValues&quot;: [ # The list of context values for this key range.
+                            { # A message representing context for a KeyRangeInfo, including a label, value, unit, and severity.
+                              &quot;label&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The label for the context value. e.g. &quot;latency&quot;.
+                                &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                                  &quot;a_key&quot;: &quot;A String&quot;,
+                                },
+                                &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                                &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                              },
+                              &quot;severity&quot;: &quot;A String&quot;, # The severity of this context.
+                              &quot;unit&quot;: &quot;A String&quot;, # The unit of the context value.
+                              &quot;value&quot;: 3.14, # The value for the context.
+                            },
+                          ],
+                          &quot;endKeyIndex&quot;: 42, # The index of the end key in indexed_keys.
+                          &quot;info&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # Information about this key range, for all metrics.
+                            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                              &quot;a_key&quot;: &quot;A String&quot;,
+                            },
+                            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                          },
+                          &quot;keysCount&quot;: &quot;A String&quot;, # The number of keys this range covers.
+                          &quot;metric&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The name of the metric. e.g. &quot;latency&quot;.
+                            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                              &quot;a_key&quot;: &quot;A String&quot;,
+                            },
+                            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                          },
+                          &quot;startKeyIndex&quot;: 42, # The index of the start key in indexed_keys.
+                          &quot;unit&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The unit of the metric. This is an unstructured field and will be mapped as is to the user.
+                            &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                              &quot;a_key&quot;: &quot;A String&quot;,
+                            },
+                            &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                            &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+                          },
+                          &quot;value&quot;: 3.14, # The value of the metric.
+                        },
+                      ],
+                      &quot;totalSize&quot;: 42, # The total size of the list of all KeyRangeInfos. This may be larger than the number of repeated messages above. If that is the case, this number may be used to determine how many are not being shown.
+                    },
+                  },
+                },
+              },
+              &quot;info&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # Information about the metric.
+                &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+              },
+              &quot;matrix&quot;: { # A message representing a matrix of floats. # The data for the metric as a matrix.
+                &quot;rows&quot;: [ # The rows of the matrix.
+                  { # A message representing a row of a matrix of floats.
+                    &quot;cols&quot;: [ # The columns of the row.
+                      3.14,
+                    ],
+                  },
+                ],
+              },
+              &quot;unit&quot;: { # A message representing a user-facing string whose value may need to be translated before being displayed. # The unit of the metric.
+                &quot;args&quot;: { # A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &quot;message&quot;: &quot;A String&quot;, # The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.
+                &quot;token&quot;: &quot;A String&quot;, # The token identifying the message, e.g. &#x27;METRIC_READ_CPU&#x27;. This should be unique within the service.
+              },
+              &quot;visible&quot;: True or False, # Whether the metric is visible to the end user.
+            },
+          ],
+          &quot;prefixNodes&quot;: [ # The list of extracted key prefix nodes used in the key prefix hierarchy.
+            { # A message representing a key prefix node in the key prefix hierarchy. for eg. Bigtable keyspaces are lexicographically ordered mappings of keys to values. Keys often have a shared prefix structure where users use the keys to organize data. Eg ///employee In this case Keysight will possibly use one node for a company and reuse it for all employees that fall under the company. Doing so improves legibility in the UI.
+              &quot;dataSourceNode&quot;: True or False, # Whether this corresponds to a data_source name.
+              &quot;depth&quot;: 42, # The depth in the prefix hierarchy.
+              &quot;endIndex&quot;: 42, # The index of the end key bucket of the range that this node spans.
+              &quot;startIndex&quot;: 42, # The index of the start key bucket of the range that this node spans.
+              &quot;word&quot;: &quot;A String&quot;, # The string represented by the prefix node.
+            },
+          ],
+        },
+        &quot;endTime&quot;: &quot;A String&quot;, # The upper bound for when the contained data is defined.
+        &quot;startTime&quot;: &quot;A String&quot;, # A range of time (inclusive) for when the contained data is defined. The lower bound for when the contained data is defined.
+      },
+      &quot;startTime&quot;: &quot;A String&quot;, # A range of time (inclusive) for when the scan is defined. The lower bound for when the scan is defined.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json b/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
index c2fd802..ed640c3 100644
--- a/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
+++ b/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
@@ -139,7 +139,7 @@
       }
     }
   },
-  "revision": "20210517",
+  "revision": "20210524",
   "rootUrl": "https://abusiveexperiencereport.googleapis.com/",
   "schemas": {
     "SiteSummaryResponse": {
diff --git a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
index 46b10ee..944e60d 100644
--- a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
+++ b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
@@ -115,7 +115,7 @@
       }
     }
   },
-  "revision": "20210522",
+  "revision": "20210524",
   "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/",
   "schemas": {
     "AmpUrl": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
index baea8d3..d3c38d9 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
@@ -900,6 +900,74 @@
               "scopes": [
                 "https://www.googleapis.com/auth/adexchange.buyer"
               ]
+            },
+            "pause": {
+              "description": "Update given deals to pause serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, please call accounts.proposals.pause endpoint. It is a no-op to pause already-paused deals. It is an error to call PauseProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.",
+              "flatPath": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:pause",
+              "httpMethod": "POST",
+              "id": "adexchangebuyer2.accounts.finalizedProposals.pause",
+              "parameterOrder": [
+                "accountId",
+                "proposalId"
+              ],
+              "parameters": {
+                "accountId": {
+                  "description": "Account ID of the buyer.",
+                  "location": "path",
+                  "required": true,
+                  "type": "string"
+                },
+                "proposalId": {
+                  "description": "The proposal_id of the proposal containing the deals.",
+                  "location": "path",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:pause",
+              "request": {
+                "$ref": "PauseProposalDealsRequest"
+              },
+              "response": {
+                "$ref": "Proposal"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/adexchange.buyer"
+              ]
+            },
+            "resume": {
+              "description": "Update given deals to resume serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, please call accounts.proposals.resume endpoint. It is a no-op to resume already-running deals. It is an error to call ResumeProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.",
+              "flatPath": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:resume",
+              "httpMethod": "POST",
+              "id": "adexchangebuyer2.accounts.finalizedProposals.resume",
+              "parameterOrder": [
+                "accountId",
+                "proposalId"
+              ],
+              "parameters": {
+                "accountId": {
+                  "description": "Account ID of the buyer.",
+                  "location": "path",
+                  "required": true,
+                  "type": "string"
+                },
+                "proposalId": {
+                  "description": "The proposal_id of the proposal containing the deals.",
+                  "location": "path",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:resume",
+              "request": {
+                "$ref": "ResumeProposalDealsRequest"
+              },
+              "response": {
+                "$ref": "Proposal"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/adexchange.buyer"
+              ]
             }
           }
         },
@@ -2500,7 +2568,7 @@
       }
     }
   },
-  "revision": "20210522",
+  "revision": "20210525",
   "rootUrl": "https://adexchangebuyer.googleapis.com/",
   "schemas": {
     "AbsoluteDateRange": {
@@ -5140,6 +5208,24 @@
       },
       "type": "object"
     },
+    "PauseProposalDealsRequest": {
+      "description": "Request message to pause serving for finalized deals.",
+      "id": "PauseProposalDealsRequest",
+      "properties": {
+        "externalDealIds": {
+          "description": "The external_deal_id's of the deals to be paused. If empty, all the deals in the proposal will be paused.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "reason": {
+          "description": "The reason why the deals are being paused. This human readable message will be displayed in the seller's UI. (Max length: 1000 unicode code units.)",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "PauseProposalRequest": {
       "description": "Request message to pause serving for an already-finalized proposal.",
       "id": "PauseProposalRequest",
@@ -5659,6 +5745,20 @@
       },
       "type": "object"
     },
+    "ResumeProposalDealsRequest": {
+      "description": "Request message to resume (unpause) serving for already-finalized deals.",
+      "id": "ResumeProposalDealsRequest",
+      "properties": {
+        "externalDealIds": {
+          "description": "The external_deal_id's of the deals to resume. If empty, all the deals in the proposal will be resumed.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "ResumeProposalRequest": {
       "description": "Request message to resume (unpause) serving for an already-finalized proposal.",
       "id": "ResumeProposalRequest",
diff --git a/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json b/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
index cd10d53..98de93e 100644
--- a/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
+++ b/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
@@ -138,7 +138,7 @@
       }
     }
   },
-  "revision": "20210517",
+  "revision": "20210524",
   "rootUrl": "https://adexperiencereport.googleapis.com/",
   "schemas": {
     "PlatformSummary": {
diff --git a/googleapiclient/discovery_cache/documents/admob.v1.json b/googleapiclient/discovery_cache/documents/admob.v1.json
index b2eca60..e65ff1f 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20210522",
+  "revision": "20210525",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
diff --git a/googleapiclient/discovery_cache/documents/admob.v1beta.json b/googleapiclient/discovery_cache/documents/admob.v1beta.json
index 42cd498..dd55132 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1beta.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20210522",
+  "revision": "20210525",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
diff --git a/googleapiclient/discovery_cache/documents/adsense.v2.json b/googleapiclient/discovery_cache/documents/adsense.v2.json
index a03402f..6f3b589 100644
--- a/googleapiclient/discovery_cache/documents/adsense.v2.json
+++ b/googleapiclient/discovery_cache/documents/adsense.v2.json
@@ -1559,7 +1559,7 @@
       }
     }
   },
-  "revision": "20210521",
+  "revision": "20210524",
   "rootUrl": "https://adsense.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
index bd661d1..34f3784 100644
--- a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
@@ -284,7 +284,7 @@
       }
     }
   },
-  "revision": "20210521",
+  "revision": "20210522",
   "rootUrl": "https://analyticsdata.googleapis.com/",
   "schemas": {
     "BatchRunPivotReportsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/appengine.v1.json b/googleapiclient/discovery_cache/documents/appengine.v1.json
index 20b35cf..7bb3309 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1.json
@@ -1594,7 +1594,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210524",
   "rootUrl": "https://appengine.googleapis.com/",
   "schemas": {
     "ApiConfigHandler": {
diff --git a/googleapiclient/discovery_cache/documents/appengine.v1alpha.json b/googleapiclient/discovery_cache/documents/appengine.v1alpha.json
index e776f5f..5a48dfe 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1alpha.json
@@ -708,7 +708,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210524",
   "rootUrl": "https://appengine.googleapis.com/",
   "schemas": {
     "AuthorizedCertificate": {
diff --git a/googleapiclient/discovery_cache/documents/appengine.v1beta.json b/googleapiclient/discovery_cache/documents/appengine.v1beta.json
index 3071221..357f95b 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1beta.json
@@ -1594,7 +1594,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210524",
   "rootUrl": "https://appengine.googleapis.com/",
   "schemas": {
     "ApiConfigHandler": {
diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
index 6735c36..cc46c1a 100644
--- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
+++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
@@ -351,7 +351,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210520",
   "rootUrl": "https://assuredworkloads.googleapis.com/",
   "schemas": {
     "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
index d02c166..7cf4dd5 100644
--- a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
+++ b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
@@ -145,7 +145,7 @@
       }
     }
   },
-  "revision": "20210524",
+  "revision": "20210525",
   "rootUrl": "https://baremetalsolution.googleapis.com/",
   "schemas": {
     "ResetInstanceRequest": {
diff --git a/googleapiclient/discovery_cache/documents/books.v1.json b/googleapiclient/discovery_cache/documents/books.v1.json
index e4642e4..c1de86e 100644
--- a/googleapiclient/discovery_cache/documents/books.v1.json
+++ b/googleapiclient/discovery_cache/documents/books.v1.json
@@ -2671,7 +2671,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210521",
   "rootUrl": "https://books.googleapis.com/",
   "schemas": {
     "Annotation": {
diff --git a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
index d0318ab..d878e2c 100644
--- a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20210520",
+  "revision": "20210524",
   "rootUrl": "https://chromeuxreport.googleapis.com/",
   "schemas": {
     "Bin": {
diff --git a/googleapiclient/discovery_cache/documents/classroom.v1.json b/googleapiclient/discovery_cache/documents/classroom.v1.json
index 746b064..2bfbbe0 100644
--- a/googleapiclient/discovery_cache/documents/classroom.v1.json
+++ b/googleapiclient/discovery_cache/documents/classroom.v1.json
@@ -2400,7 +2400,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210521",
   "rootUrl": "https://classroom.googleapis.com/",
   "schemas": {
     "Announcement": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1.json
index 1bfffa6..47898b2 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1.json
@@ -694,7 +694,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210521",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AccessSelector": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
index d51556b..977c380 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
@@ -411,7 +411,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210521",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
index 258dc79..edc521d 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
@@ -207,7 +207,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210521",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
index b4e6d84..3034351 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
@@ -221,7 +221,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210521",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AccessSelector": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
index 14d3789..86d9ea3 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
@@ -177,7 +177,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210521",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
index 28780a8..deacdfa 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
@@ -167,7 +167,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210521",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningResponse": {
diff --git a/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json b/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
index ee3c6b1..89cc4dd 100644
--- a/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
@@ -430,7 +430,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210520",
   "rootUrl": "https://clouderrorreporting.googleapis.com/",
   "schemas": {
     "DeleteEventsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
index c912be3..e2d47b7 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
@@ -546,7 +546,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210519",
   "rootUrl": "https://cloudfunctions.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudshell.v1.json b/googleapiclient/discovery_cache/documents/cloudshell.v1.json
index 72eac64..8f0a2a7 100644
--- a/googleapiclient/discovery_cache/documents/cloudshell.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudshell.v1.json
@@ -374,7 +374,7 @@
       }
     }
   },
-  "revision": "20210517",
+  "revision": "20210522",
   "rootUrl": "https://cloudshell.googleapis.com/",
   "schemas": {
     "AddPublicKeyMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
index dd3896e..0207dc3 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
@@ -685,7 +685,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210517",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AppEngineHttpRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
index 67fb95d..cb4c728 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
@@ -809,7 +809,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210517",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AcknowledgeTaskRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
index 1b666fe..38579f4 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
@@ -697,7 +697,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210517",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AppEngineHttpQueue": {
diff --git a/googleapiclient/discovery_cache/documents/container.v1beta1.json b/googleapiclient/discovery_cache/documents/container.v1beta1.json
index d851c1b..7b01b13 100644
--- a/googleapiclient/discovery_cache/documents/container.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json
@@ -2484,7 +2484,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210508",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/content.v2.json b/googleapiclient/discovery_cache/documents/content.v2.json
index d220b4f..62d1f06 100644
--- a/googleapiclient/discovery_cache/documents/content.v2.json
+++ b/googleapiclient/discovery_cache/documents/content.v2.json
@@ -3298,7 +3298,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210519",
   "rootUrl": "https://shoppingcontent.googleapis.com/",
   "schemas": {
     "Account": {
@@ -10313,7 +10313,7 @@
           "type": "string"
         },
         "value": {
-          "description": "Required. The weight represented as a number.",
+          "description": "Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.",
           "type": "string"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/content.v21.json b/googleapiclient/discovery_cache/documents/content.v21.json
index cf0dac0..243ae73 100644
--- a/googleapiclient/discovery_cache/documents/content.v21.json
+++ b/googleapiclient/discovery_cache/documents/content.v21.json
@@ -3962,7 +3962,7 @@
               "type": "string"
             },
             "updateMask": {
-              "description": "The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged.",
+              "description": "The comma-separated list of product attributes to be updated. Example: `\"title,salePrice\"`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged.",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -4417,7 +4417,7 @@
               "type": "string"
             },
             "updateMask": {
-              "description": "Optional. The field mask indicating the fields to update.",
+              "description": "Optional. The comma-separated field mask indicating the fields to update. Example: `\"displayName,postalCodeArea.regionCode\"`.",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -5485,7 +5485,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210519",
   "rootUrl": "https://shoppingcontent.googleapis.com/",
   "schemas": {
     "Account": {
@@ -12172,7 +12172,7 @@
           "type": "string"
         },
         "updateMask": {
-          "description": "The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.",
+          "description": "The comma-separated list of product attributes to be updated. Example: `\"title,salePrice\"`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -14682,7 +14682,7 @@
           "type": "string"
         },
         "value": {
-          "description": "Required. The weight represented as a number.",
+          "description": "Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.",
           "type": "string"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
index ab99599..dea1e58 100644
--- a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
+++ b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
@@ -184,7 +184,7 @@
       }
     }
   },
-  "revision": "20210503",
+  "revision": "20210510",
   "rootUrl": "https://digitalassetlinks.googleapis.com/",
   "schemas": {
     "AndroidAppAsset": {
diff --git a/googleapiclient/discovery_cache/documents/displayvideo.v1.json b/googleapiclient/discovery_cache/documents/displayvideo.v1.json
index 8dc7318..75edbc9 100644
--- a/googleapiclient/discovery_cache/documents/displayvideo.v1.json
+++ b/googleapiclient/discovery_cache/documents/displayvideo.v1.json
@@ -753,7 +753,8 @@
                             "TARGETING_TYPE_GEO_REGION",
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
-                            "TARGETING_TYPE_SUB_EXCHANGE"
+                            "TARGETING_TYPE_SUB_EXCHANGE",
+                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                           ],
                           "enumDescriptions": [
                             "Default value when type is not specified or is unknown in this version.",
@@ -793,7 +794,8 @@
                             "Target ads to a specific regional location (for example, a city or state).",
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
-                            "Purchase impressions from specific sub-exchanges."
+                            "Purchase impressions from specific sub-exchanges.",
+                            "Target ads to a specific native content position."
                           ],
                           "location": "path",
                           "pattern": "^[^/]+$",
@@ -897,7 +899,8 @@
                             "TARGETING_TYPE_GEO_REGION",
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
-                            "TARGETING_TYPE_SUB_EXCHANGE"
+                            "TARGETING_TYPE_SUB_EXCHANGE",
+                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                           ],
                           "enumDescriptions": [
                             "Default value when type is not specified or is unknown in this version.",
@@ -937,7 +940,8 @@
                             "Target ads to a specific regional location (for example, a city or state).",
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
-                            "Purchase impressions from specific sub-exchanges."
+                            "Purchase impressions from specific sub-exchanges.",
+                            "Target ads to a specific native content position."
                           ],
                           "location": "path",
                           "pattern": "^[^/]+$",
@@ -1897,7 +1901,8 @@
                             "TARGETING_TYPE_GEO_REGION",
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
-                            "TARGETING_TYPE_SUB_EXCHANGE"
+                            "TARGETING_TYPE_SUB_EXCHANGE",
+                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                           ],
                           "enumDescriptions": [
                             "Default value when type is not specified or is unknown in this version.",
@@ -1937,7 +1942,8 @@
                             "Target ads to a specific regional location (for example, a city or state).",
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
-                            "Purchase impressions from specific sub-exchanges."
+                            "Purchase impressions from specific sub-exchanges.",
+                            "Target ads to a specific native content position."
                           ],
                           "location": "path",
                           "pattern": "^[^/]+$",
@@ -2041,7 +2047,8 @@
                             "TARGETING_TYPE_GEO_REGION",
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
-                            "TARGETING_TYPE_SUB_EXCHANGE"
+                            "TARGETING_TYPE_SUB_EXCHANGE",
+                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                           ],
                           "enumDescriptions": [
                             "Default value when type is not specified or is unknown in this version.",
@@ -2081,7 +2088,8 @@
                             "Target ads to a specific regional location (for example, a city or state).",
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
-                            "Purchase impressions from specific sub-exchanges."
+                            "Purchase impressions from specific sub-exchanges.",
+                            "Target ads to a specific native content position."
                           ],
                           "location": "path",
                           "pattern": "^[^/]+$",
@@ -2103,6 +2111,100 @@
             }
           }
         },
+        "invoices": {
+          "methods": {
+            "list": {
+              "description": "List invoices for an advertiser.",
+              "flatPath": "v1/advertisers/{advertisersId}/invoices",
+              "httpMethod": "GET",
+              "id": "displayvideo.advertisers.invoices.list",
+              "parameterOrder": [
+                "advertiserId"
+              ],
+              "parameters": {
+                "advertiserId": {
+                  "description": "Required. The ID of the advertiser to list invoices for.",
+                  "format": "int64",
+                  "location": "path",
+                  "pattern": "^[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "issueMonth": {
+                  "description": "Required. Month for which invoices are needed in the format YYYYMM.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "loiSapinInvoiceType": {
+                  "description": "Select type of invoice to query for Loi Sapin advertisers. Otherwise its ignored.",
+                  "enum": [
+                    "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED",
+                    "LOI_SAPIN_INVOICE_TYPE_MEDIA",
+                    "LOI_SAPIN_INVOICE_TYPE_PLATFORM"
+                  ],
+                  "enumDescriptions": [
+                    "Value is not specified.",
+                    "Invoices with Media cost.",
+                    "Invoices with Platform fee."
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "pageSize": {
+                  "description": "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.",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "A token identifying a page of results the server should return. Typically, this is the value of [ListInvoicesResponse.next_page_token] returned from the previous call to `ListInvoice` method. If not specified, the first page of results will be returned.",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v1/advertisers/{+advertiserId}/invoices",
+              "response": {
+                "$ref": "ListInvoicesResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/display-video",
+                "https://www.googleapis.com/auth/display-video-mediaplanning"
+              ]
+            },
+            "lookupInvoiceCurrency": {
+              "description": "Lookup invoice currency for an advertiser.",
+              "flatPath": "v1/advertisers/{advertisersId}/invoices:lookupInvoiceCurrency",
+              "httpMethod": "GET",
+              "id": "displayvideo.advertisers.invoices.lookupInvoiceCurrency",
+              "parameterOrder": [
+                "advertiserId"
+              ],
+              "parameters": {
+                "advertiserId": {
+                  "description": "Required. The ID of the advertiser to lookup currency for.",
+                  "format": "int64",
+                  "location": "path",
+                  "pattern": "^[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "invoiceMonth": {
+                  "description": "Month for which currency is needed in the format YYYYMM. If not set Api would return currency based on current settings.",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v1/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency",
+              "response": {
+                "$ref": "LookupInvoiceCurrencyResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/display-video",
+                "https://www.googleapis.com/auth/display-video-mediaplanning"
+              ]
+            }
+          }
+        },
         "lineItems": {
           "methods": {
             "bulkEditLineItemAssignedTargetingOptions": {
@@ -2491,7 +2593,8 @@
                             "TARGETING_TYPE_GEO_REGION",
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
-                            "TARGETING_TYPE_SUB_EXCHANGE"
+                            "TARGETING_TYPE_SUB_EXCHANGE",
+                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                           ],
                           "enumDescriptions": [
                             "Default value when type is not specified or is unknown in this version.",
@@ -2531,7 +2634,8 @@
                             "Target ads to a specific regional location (for example, a city or state).",
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
-                            "Purchase impressions from specific sub-exchanges."
+                            "Purchase impressions from specific sub-exchanges.",
+                            "Target ads to a specific native content position."
                           ],
                           "location": "path",
                           "pattern": "^[^/]+$",
@@ -2625,7 +2729,8 @@
                             "TARGETING_TYPE_GEO_REGION",
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
-                            "TARGETING_TYPE_SUB_EXCHANGE"
+                            "TARGETING_TYPE_SUB_EXCHANGE",
+                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                           ],
                           "enumDescriptions": [
                             "Default value when type is not specified or is unknown in this version.",
@@ -2665,7 +2770,8 @@
                             "Target ads to a specific regional location (for example, a city or state).",
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
-                            "Purchase impressions from specific sub-exchanges."
+                            "Purchase impressions from specific sub-exchanges.",
+                            "Target ads to a specific native content position."
                           ],
                           "location": "path",
                           "pattern": "^[^/]+$",
@@ -2756,7 +2862,8 @@
                             "TARGETING_TYPE_GEO_REGION",
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
-                            "TARGETING_TYPE_SUB_EXCHANGE"
+                            "TARGETING_TYPE_SUB_EXCHANGE",
+                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                           ],
                           "enumDescriptions": [
                             "Default value when type is not specified or is unknown in this version.",
@@ -2796,7 +2903,8 @@
                             "Target ads to a specific regional location (for example, a city or state).",
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
-                            "Purchase impressions from specific sub-exchanges."
+                            "Purchase impressions from specific sub-exchanges.",
+                            "Target ads to a specific native content position."
                           ],
                           "location": "path",
                           "pattern": "^[^/]+$",
@@ -2900,7 +3008,8 @@
                             "TARGETING_TYPE_GEO_REGION",
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
-                            "TARGETING_TYPE_SUB_EXCHANGE"
+                            "TARGETING_TYPE_SUB_EXCHANGE",
+                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                           ],
                           "enumDescriptions": [
                             "Default value when type is not specified or is unknown in this version.",
@@ -2940,7 +3049,8 @@
                             "Target ads to a specific regional location (for example, a city or state).",
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
-                            "Purchase impressions from specific sub-exchanges."
+                            "Purchase impressions from specific sub-exchanges.",
+                            "Target ads to a specific native content position."
                           ],
                           "location": "path",
                           "pattern": "^[^/]+$",
@@ -3990,7 +4100,8 @@
                         "TARGETING_TYPE_GEO_REGION",
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
-                        "TARGETING_TYPE_SUB_EXCHANGE"
+                        "TARGETING_TYPE_SUB_EXCHANGE",
+                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                       ],
                       "enumDescriptions": [
                         "Default value when type is not specified or is unknown in this version.",
@@ -4030,7 +4141,8 @@
                         "Target ads to a specific regional location (for example, a city or state).",
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
-                        "Purchase impressions from specific sub-exchanges."
+                        "Purchase impressions from specific sub-exchanges.",
+                        "Target ads to a specific native content position."
                       ],
                       "location": "path",
                       "pattern": "^[^/]+$",
@@ -4115,7 +4227,8 @@
                         "TARGETING_TYPE_GEO_REGION",
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
-                        "TARGETING_TYPE_SUB_EXCHANGE"
+                        "TARGETING_TYPE_SUB_EXCHANGE",
+                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                       ],
                       "enumDescriptions": [
                         "Default value when type is not specified or is unknown in this version.",
@@ -4155,7 +4268,8 @@
                         "Target ads to a specific regional location (for example, a city or state).",
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
-                        "Purchase impressions from specific sub-exchanges."
+                        "Purchase impressions from specific sub-exchanges.",
+                        "Target ads to a specific native content position."
                       ],
                       "location": "path",
                       "pattern": "^[^/]+$",
@@ -4237,7 +4351,8 @@
                         "TARGETING_TYPE_GEO_REGION",
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
-                        "TARGETING_TYPE_SUB_EXCHANGE"
+                        "TARGETING_TYPE_SUB_EXCHANGE",
+                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                       ],
                       "enumDescriptions": [
                         "Default value when type is not specified or is unknown in this version.",
@@ -4277,7 +4392,8 @@
                         "Target ads to a specific regional location (for example, a city or state).",
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
-                        "Purchase impressions from specific sub-exchanges."
+                        "Purchase impressions from specific sub-exchanges.",
+                        "Target ads to a specific native content position."
                       ],
                       "location": "path",
                       "pattern": "^[^/]+$",
@@ -4372,7 +4488,8 @@
                         "TARGETING_TYPE_GEO_REGION",
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
-                        "TARGETING_TYPE_SUB_EXCHANGE"
+                        "TARGETING_TYPE_SUB_EXCHANGE",
+                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                       ],
                       "enumDescriptions": [
                         "Default value when type is not specified or is unknown in this version.",
@@ -4412,7 +4529,8 @@
                         "Target ads to a specific regional location (for example, a city or state).",
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
-                        "Purchase impressions from specific sub-exchanges."
+                        "Purchase impressions from specific sub-exchanges.",
+                        "Target ads to a specific native content position."
                       ],
                       "location": "path",
                       "pattern": "^[^/]+$",
@@ -6030,7 +6148,8 @@
                         "TARGETING_TYPE_GEO_REGION",
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
-                        "TARGETING_TYPE_SUB_EXCHANGE"
+                        "TARGETING_TYPE_SUB_EXCHANGE",
+                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                       ],
                       "enumDescriptions": [
                         "Default value when type is not specified or is unknown in this version.",
@@ -6070,7 +6189,8 @@
                         "Target ads to a specific regional location (for example, a city or state).",
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
-                        "Purchase impressions from specific sub-exchanges."
+                        "Purchase impressions from specific sub-exchanges.",
+                        "Target ads to a specific native content position."
                       ],
                       "location": "path",
                       "pattern": "^[^/]+$",
@@ -6155,7 +6275,8 @@
                         "TARGETING_TYPE_GEO_REGION",
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
-                        "TARGETING_TYPE_SUB_EXCHANGE"
+                        "TARGETING_TYPE_SUB_EXCHANGE",
+                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                       ],
                       "enumDescriptions": [
                         "Default value when type is not specified or is unknown in this version.",
@@ -6195,7 +6316,8 @@
                         "Target ads to a specific regional location (for example, a city or state).",
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
-                        "Purchase impressions from specific sub-exchanges."
+                        "Purchase impressions from specific sub-exchanges.",
+                        "Target ads to a specific native content position."
                       ],
                       "location": "path",
                       "pattern": "^[^/]+$",
@@ -6277,7 +6399,8 @@
                         "TARGETING_TYPE_GEO_REGION",
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
-                        "TARGETING_TYPE_SUB_EXCHANGE"
+                        "TARGETING_TYPE_SUB_EXCHANGE",
+                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                       ],
                       "enumDescriptions": [
                         "Default value when type is not specified or is unknown in this version.",
@@ -6317,7 +6440,8 @@
                         "Target ads to a specific regional location (for example, a city or state).",
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
-                        "Purchase impressions from specific sub-exchanges."
+                        "Purchase impressions from specific sub-exchanges.",
+                        "Target ads to a specific native content position."
                       ],
                       "location": "path",
                       "pattern": "^[^/]+$",
@@ -6412,7 +6536,8 @@
                         "TARGETING_TYPE_GEO_REGION",
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
-                        "TARGETING_TYPE_SUB_EXCHANGE"
+                        "TARGETING_TYPE_SUB_EXCHANGE",
+                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                       ],
                       "enumDescriptions": [
                         "Default value when type is not specified or is unknown in this version.",
@@ -6452,7 +6577,8 @@
                         "Target ads to a specific regional location (for example, a city or state).",
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
-                        "Purchase impressions from specific sub-exchanges."
+                        "Purchase impressions from specific sub-exchanges.",
+                        "Target ads to a specific native content position."
                       ],
                       "location": "path",
                       "pattern": "^[^/]+$",
@@ -6595,7 +6721,8 @@
                     "TARGETING_TYPE_GEO_REGION",
                     "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                     "TARGETING_TYPE_EXCHANGE",
-                    "TARGETING_TYPE_SUB_EXCHANGE"
+                    "TARGETING_TYPE_SUB_EXCHANGE",
+                    "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                   ],
                   "enumDescriptions": [
                     "Default value when type is not specified or is unknown in this version.",
@@ -6635,7 +6762,8 @@
                     "Target ads to a specific regional location (for example, a city or state).",
                     "Purchase impressions from a group of deals and auction packages.",
                     "Purchase impressions from specific exchanges.",
-                    "Purchase impressions from specific sub-exchanges."
+                    "Purchase impressions from specific sub-exchanges.",
+                    "Target ads to a specific native content position."
                   ],
                   "location": "path",
                   "pattern": "^[^/]+$",
@@ -6727,7 +6855,8 @@
                     "TARGETING_TYPE_GEO_REGION",
                     "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                     "TARGETING_TYPE_EXCHANGE",
-                    "TARGETING_TYPE_SUB_EXCHANGE"
+                    "TARGETING_TYPE_SUB_EXCHANGE",
+                    "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                   ],
                   "enumDescriptions": [
                     "Default value when type is not specified or is unknown in this version.",
@@ -6767,7 +6896,8 @@
                     "Target ads to a specific regional location (for example, a city or state).",
                     "Purchase impressions from a group of deals and auction packages.",
                     "Purchase impressions from specific exchanges.",
-                    "Purchase impressions from specific sub-exchanges."
+                    "Purchase impressions from specific sub-exchanges.",
+                    "Target ads to a specific native content position."
                   ],
                   "location": "path",
                   "pattern": "^[^/]+$",
@@ -6832,7 +6962,8 @@
                     "TARGETING_TYPE_GEO_REGION",
                     "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                     "TARGETING_TYPE_EXCHANGE",
-                    "TARGETING_TYPE_SUB_EXCHANGE"
+                    "TARGETING_TYPE_SUB_EXCHANGE",
+                    "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
                   ],
                   "enumDescriptions": [
                     "Default value when type is not specified or is unknown in this version.",
@@ -6872,7 +7003,8 @@
                     "Target ads to a specific regional location (for example, a city or state).",
                     "Purchase impressions from a group of deals and auction packages.",
                     "Purchase impressions from specific exchanges.",
-                    "Purchase impressions from specific sub-exchanges."
+                    "Purchase impressions from specific sub-exchanges.",
+                    "Target ads to a specific native content position."
                   ],
                   "location": "path",
                   "pattern": "^[^/]+$",
@@ -7071,7 +7203,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210524",
   "rootUrl": "https://displayvideo.googleapis.com/",
   "schemas": {
     "ActivateManualTriggerRequest": {
@@ -7295,6 +7427,10 @@
           "format": "int64",
           "type": "string"
         },
+        "prismaEnabled": {
+          "description": "Whether integration with Mediaocean (Prisma) is enabled. By enabling this: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.",
+          "type": "boolean"
+        },
         "servingConfig": {
           "$ref": "AdvertiserTargetingConfig",
           "description": "Targeting settings related to ad serving of the advertiser."
@@ -7794,6 +7930,10 @@
           "readOnly": true,
           "type": "string"
         },
+        "nativeContentPositionDetails": {
+          "$ref": "NativeContentPositionAssignedTargetingOptionDetails",
+          "description": "Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`."
+        },
         "negativeKeywordListDetails": {
           "$ref": "NegativeKeywordListAssignedTargetingOptionDetails",
           "description": "Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource."
@@ -7866,7 +8006,8 @@
             "TARGETING_TYPE_GEO_REGION",
             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
             "TARGETING_TYPE_EXCHANGE",
-            "TARGETING_TYPE_SUB_EXCHANGE"
+            "TARGETING_TYPE_SUB_EXCHANGE",
+            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
           ],
           "enumDescriptions": [
             "Default value when type is not specified or is unknown in this version.",
@@ -7906,7 +8047,8 @@
             "Target ads to a specific regional location (for example, a city or state).",
             "Purchase impressions from a group of deals and auction packages.",
             "Purchase impressions from specific exchanges.",
-            "Purchase impressions from specific sub-exchanges."
+            "Purchase impressions from specific sub-exchanges.",
+            "Target ads to a specific native content position."
           ],
           "readOnly": true,
           "type": "string"
@@ -8185,6 +8327,41 @@
       },
       "type": "object"
     },
+    "BudgetSummary": {
+      "description": "Represents a summarized budget information associated with this invoice.",
+      "id": "BudgetSummary",
+      "properties": {
+        "externalBudgetId": {
+          "description": "Output only. External budget id.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "preTaxAmountMicros": {
+          "description": "Output only. The pre-tax amount for this budget, in micros of the invoice's currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        },
+        "prismaCpeCode": {
+          "$ref": "PrismaCpeCode",
+          "description": "Output only. Codes specific to the MediaOcean Prisma tool.",
+          "readOnly": true
+        },
+        "taxAmountMicros": {
+          "description": "Output only. The tax amount for this budget, in micros of the invoice's currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        },
+        "totalAmountMicros": {
+          "description": "Output only. The total amount of charges for this budget, in micros of the invoice's currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "BulkEditAdvertiserAssignedTargetingOptionsRequest": {
       "description": "Request message for BulkEditAdvertiserAssignedTargetingOptions.",
       "id": "BulkEditAdvertiserAssignedTargetingOptionsRequest",
@@ -8563,6 +8740,13 @@
           "readOnly": true,
           "type": "string"
         },
+        "campaignBudgets": {
+          "description": "The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.",
+          "items": {
+            "$ref": "CampaignBudget"
+          },
+          "type": "array"
+        },
         "campaignFlight": {
           "$ref": "CampaignFlight",
           "description": "Required. The planned spend and duration of the campaign."
@@ -8619,6 +8803,71 @@
       },
       "type": "object"
     },
+    "CampaignBudget": {
+      "description": "Settings that control how the campaign budget is allocated.",
+      "id": "CampaignBudget",
+      "properties": {
+        "budgetAmountMicros": {
+          "description": "Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.",
+          "format": "int64",
+          "type": "string"
+        },
+        "budgetId": {
+          "description": "The unique ID of the campaign budget. If not included, budget is assumed to be new.",
+          "format": "int64",
+          "type": "string"
+        },
+        "budgetUnit": {
+          "description": "Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.",
+          "enum": [
+            "BUDGET_UNIT_UNSPECIFIED",
+            "BUDGET_UNIT_CURRENCY",
+            "BUDGET_UNIT_IMPRESSIONS"
+          ],
+          "enumDescriptions": [
+            "Type value is not specified or is unknown in this version.",
+            "Budgeting in currency amounts.",
+            "Budgeting in impression amounts."
+          ],
+          "type": "string"
+        },
+        "dateRange": {
+          "$ref": "DateRange",
+          "description": "Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037."
+        },
+        "displayName": {
+          "description": "Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.",
+          "type": "string"
+        },
+        "externalBudgetId": {
+          "description": "Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.",
+          "type": "string"
+        },
+        "externalBudgetSource": {
+          "description": "Required. The external source of the budget segment.",
+          "enum": [
+            "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED",
+            "EXTERNAL_BUDGET_SOURCE_NONE",
+            "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN"
+          ],
+          "enumDescriptions": [
+            "External budget source value is not specified or unknown in this version.",
+            "Budget has no external source.",
+            "Budget source is MediaOcean."
+          ],
+          "type": "string"
+        },
+        "invoiceGroupingId": {
+          "description": "Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.",
+          "type": "string"
+        },
+        "prismaConfig": {
+          "$ref": "PrismaConfig",
+          "description": "Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool."
+        }
+      },
+      "type": "object"
+    },
     "CampaignFlight": {
       "description": "Settings that track the planned spend and duration of a campaign.",
       "id": "CampaignFlight",
@@ -9168,7 +9417,8 @@
             "TARGETING_TYPE_GEO_REGION",
             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
             "TARGETING_TYPE_EXCHANGE",
-            "TARGETING_TYPE_SUB_EXCHANGE"
+            "TARGETING_TYPE_SUB_EXCHANGE",
+            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
           ],
           "enumDescriptions": [
             "Default value when type is not specified or is unknown in this version.",
@@ -9208,7 +9458,8 @@
             "Target ads to a specific regional location (for example, a city or state).",
             "Purchase impressions from a group of deals and auction packages.",
             "Purchase impressions from specific exchanges.",
-            "Purchase impressions from specific sub-exchanges."
+            "Purchase impressions from specific sub-exchanges.",
+            "Target ads to a specific native content position."
           ],
           "type": "string"
         }
@@ -9945,7 +10196,8 @@
             "TARGETING_TYPE_GEO_REGION",
             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
             "TARGETING_TYPE_EXCHANGE",
-            "TARGETING_TYPE_SUB_EXCHANGE"
+            "TARGETING_TYPE_SUB_EXCHANGE",
+            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
           ],
           "enumDescriptions": [
             "Default value when type is not specified or is unknown in this version.",
@@ -9985,7 +10237,8 @@
             "Target ads to a specific regional location (for example, a city or state).",
             "Purchase impressions from a group of deals and auction packages.",
             "Purchase impressions from specific exchanges.",
-            "Purchase impressions from specific sub-exchanges."
+            "Purchase impressions from specific sub-exchanges.",
+            "Target ads to a specific native content position."
           ],
           "type": "string"
         }
@@ -10655,7 +10908,8 @@
             "EXCHANGE_NEXSTAR_DIGITAL",
             "EXCHANGE_WAZE",
             "EXCHANGE_SOUNDCAST",
-            "EXCHANGE_SHARETHROUGH"
+            "EXCHANGE_SHARETHROUGH",
+            "EXCHANGE_MEDIANET"
           ],
           "enumDescriptions": [
             "Exchange is not specified or is unknown in this version.",
@@ -10720,7 +10974,8 @@
             "Nexstar Digital.",
             "Waze.",
             "SoundCast.",
-            "Sharethrough."
+            "Sharethrough.",
+            "Media.net."
           ],
           "type": "string"
         },
@@ -10811,7 +11066,8 @@
             "EXCHANGE_NEXSTAR_DIGITAL",
             "EXCHANGE_WAZE",
             "EXCHANGE_SOUNDCAST",
-            "EXCHANGE_SHARETHROUGH"
+            "EXCHANGE_SHARETHROUGH",
+            "EXCHANGE_MEDIANET"
           ],
           "enumDescriptions": [
             "Exchange is not specified or is unknown in this version.",
@@ -10876,7 +11132,8 @@
             "Nexstar Digital.",
             "Waze.",
             "SoundCast.",
-            "Sharethrough."
+            "Sharethrough.",
+            "Media.net."
           ],
           "type": "string"
         },
@@ -10968,7 +11225,8 @@
             "EXCHANGE_NEXSTAR_DIGITAL",
             "EXCHANGE_WAZE",
             "EXCHANGE_SOUNDCAST",
-            "EXCHANGE_SHARETHROUGH"
+            "EXCHANGE_SHARETHROUGH",
+            "EXCHANGE_MEDIANET"
           ],
           "enumDescriptions": [
             "Exchange is not specified or is unknown in this version.",
@@ -11033,7 +11291,8 @@
             "Nexstar Digital.",
             "Waze.",
             "SoundCast.",
-            "Sharethrough."
+            "Sharethrough.",
+            "Media.net."
           ],
           "readOnly": true,
           "type": "string"
@@ -11261,6 +11520,7 @@
             "RECENCY_28_DAYS",
             "RECENCY_30_DAYS",
             "RECENCY_40_DAYS",
+            "RECENCY_45_DAYS",
             "RECENCY_60_DAYS",
             "RECENCY_90_DAYS",
             "RECENCY_120_DAYS",
@@ -11292,6 +11552,7 @@
             "Recency is 28 days.",
             "Recency is 30 days.",
             "Recency is 40 days.",
+            "Recency is 45 days.",
             "Recency is 60 days.",
             "Recency is 90 days.",
             "Recency is 120 days.",
@@ -12399,7 +12660,8 @@
             "EXCHANGE_NEXSTAR_DIGITAL",
             "EXCHANGE_WAZE",
             "EXCHANGE_SOUNDCAST",
-            "EXCHANGE_SHARETHROUGH"
+            "EXCHANGE_SHARETHROUGH",
+            "EXCHANGE_MEDIANET"
           ],
           "enumDescriptions": [
             "Exchange is not specified or is unknown in this version.",
@@ -12464,7 +12726,8 @@
             "Nexstar Digital.",
             "Waze.",
             "SoundCast.",
-            "Sharethrough."
+            "Sharethrough.",
+            "Media.net."
           ],
           "type": "string"
         },
@@ -12674,6 +12937,133 @@
       },
       "type": "object"
     },
+    "Invoice": {
+      "description": "A single Invoice.",
+      "id": "Invoice",
+      "properties": {
+        "budgetInvoiceGroupingId": {
+          "description": "Output only. Budget invoice grouping ID associated with the budget segment in the insertion order.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "budgetSummaries": {
+          "description": "Output only. The list of summarized budget information associated with this invoice.",
+          "items": {
+            "$ref": "BudgetSummary"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
+        "correctedInvoiceId": {
+          "description": "Output only. The originally issued invoice that is being adjusted by this invoice, if applicable. If there is a corrected invoice, the replaced_invoice_ids field will be empty. May appear on invoice PDF as `Reference invoice number`.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "currencyCode": {
+          "description": "Output only. Invoice currency code in ISO 4217 format.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "displayName": {
+          "description": "Output only. Display name of the invoice.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "dueDate": {
+          "$ref": "Date",
+          "description": "Output only. The invoice due date.",
+          "readOnly": true
+        },
+        "invoiceId": {
+          "description": "Output only. The unique ID of the invoice.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "invoiceType": {
+          "description": "Output only. The type of invoice document.",
+          "enum": [
+            "INVOICE_TYPE_UNSPECIFIED",
+            "INVOICE_TYPE_CREDIT",
+            "INVOICE_TYPE_INVOICE"
+          ],
+          "enumDescriptions": [
+            "Not specified or is unknown in this version.",
+            "An Invoice with a negative amount.",
+            "An Invoice with a positive amount."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
+        "issueDate": {
+          "$ref": "Date",
+          "description": "Output only. The date when the invoice was issued.",
+          "readOnly": true
+        },
+        "name": {
+          "description": "Output only. The resource name of the invoice.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "nonBudgetMicros": {
+          "description": "Output only. The total amount of costs or adjustments not tied to a particular budget, in micros of the invoice's currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        },
+        "paymentsAccountId": {
+          "description": "Output only. The ID of the payments account the invoice belongs to. Appears on the invoice PDF as `Billing Account Number`.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "paymentsProfileId": {
+          "description": "Output only. The ID of the payments profile the invoice belongs to. Appears on the invoice PDF as `Billing ID`.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "pdfUrl": {
+          "description": "Output only. The URL to download a PDF copy of the invoice. Note that this URL is user specific and requires a valid OAuth 2.0 access token to access. The access token must be provided in an `Authorization: Bearer` HTTP header and be authorized for one of the following scopes: * `https://www.googleapis.com/auth/display-video-mediaplanning` * `https://www.googleapis.com/auth/display-video` The URL will only be usable for 7 days from when the api is called.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "purchaseOrderNumber": {
+          "description": "Output only. Purchase order number associated with the invoice.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "replacedInvoiceIds": {
+          "description": "Output only. The originally issued invoice(s) that is being cancelled by this invoice, if applicable. If there are any replaced invoices, the corrected_invoice_id field will be empty. May appear on invoice PDF as `Replaced invoice numbers`. Note: There may be multiple replaced invoices due to consolidation of multiple invoices into a single invoice.",
+          "items": {
+            "type": "string"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
+        "serviceDateRange": {
+          "$ref": "DateRange",
+          "description": "Output only. Service start and end dates which are covered by this invoice.",
+          "readOnly": true
+        },
+        "subtotalAmountMicros": {
+          "description": "Output only. The pre-tax subtotal amount, in micros of the invoice's currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        },
+        "totalAmountMicros": {
+          "description": "Output only. The invoice total amount, in micros of the invoice's currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        },
+        "totalTaxAmountMicros": {
+          "description": "Output only. The sum of all taxes in invoice, in micros of the invoice's currency. For example if currency_code is `USD`, then 1000000 micros is one US dollar.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "KeywordAssignedTargetingOptionDetails": {
       "description": "Details for assigned keyword targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`.",
       "id": "KeywordAssignedTargetingOptionDetails",
@@ -13293,6 +13683,24 @@
       },
       "type": "object"
     },
+    "ListInvoicesResponse": {
+      "description": "Response message for InvoiceService.ListInvoices.",
+      "id": "ListInvoicesResponse",
+      "properties": {
+        "invoices": {
+          "description": "The list of invoices. This list will be absent if empty.",
+          "items": {
+            "$ref": "Invoice"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "A token to retrieve the next page of results. Pass this value in the [ListInvoicesRequest.page_token] field in the subsequent call to `ListInvoices` method to retrieve the next page of results.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ListLineItemAssignedTargetingOptionsResponse": {
       "description": "Response message for ListLineItemAssignedTargetingOptions.",
       "id": "ListLineItemAssignedTargetingOptionsResponse",
@@ -13543,6 +13951,18 @@
       },
       "type": "object"
     },
+    "LookupInvoiceCurrencyResponse": {
+      "description": "Response message for InvoiceService.LookupInvoiceCurrency.",
+      "id": "LookupInvoiceCurrencyResponse",
+      "properties": {
+        "currencyCode": {
+          "description": "Output only. Invoice currency code in ISO 4217 format.",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ManualTrigger": {
       "description": "A single manual trigger in Display & Video 360.",
       "id": "ManualTrigger",
@@ -13709,6 +14129,66 @@
       },
       "type": "object"
     },
+    "NativeContentPositionAssignedTargetingOptionDetails": {
+      "description": "Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect.",
+      "id": "NativeContentPositionAssignedTargetingOptionDetails",
+      "properties": {
+        "contentPosition": {
+          "description": "Output only. The content position.",
+          "enum": [
+            "NATIVE_CONTENT_POSITION_UNSPECIFIED",
+            "NATIVE_CONTENT_POSITION_UNKNOWN",
+            "NATIVE_CONTENT_POSITION_IN_ARTICLE",
+            "NATIVE_CONTENT_POSITION_IN_FEED",
+            "NATIVE_CONTENT_POSITION_PERIPHERAL",
+            "NATIVE_CONTENT_POSITION_RECOMMENDATION"
+          ],
+          "enumDescriptions": [
+            "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.",
+            "The native content position is unknown.",
+            "Native content position is in-article, i.e., ads appear between the paragraphs of pages.",
+            "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).",
+            "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.",
+            "Native content position is recommendation, i.e., ads appear in sections for recommended content."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
+        "targetingOptionId": {
+          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "NativeContentPositionTargetingOptionDetails": {
+      "description": "Represents a targetable native content position. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.",
+      "id": "NativeContentPositionTargetingOptionDetails",
+      "properties": {
+        "contentPosition": {
+          "description": "Output only. The content position.",
+          "enum": [
+            "NATIVE_CONTENT_POSITION_UNSPECIFIED",
+            "NATIVE_CONTENT_POSITION_UNKNOWN",
+            "NATIVE_CONTENT_POSITION_IN_ARTICLE",
+            "NATIVE_CONTENT_POSITION_IN_FEED",
+            "NATIVE_CONTENT_POSITION_PERIPHERAL",
+            "NATIVE_CONTENT_POSITION_RECOMMENDATION"
+          ],
+          "enumDescriptions": [
+            "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.",
+            "The native content position is unknown.",
+            "Native content position is in-article, i.e., ads appear between the paragraphs of pages.",
+            "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).",
+            "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.",
+            "Native content position is recommendation, i.e., ads appear in sections for recommended content."
+          ],
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "NegativeKeyword": {
       "description": "A negatively targeted keyword that belongs to a negative keyword list.",
       "id": "NegativeKeyword",
@@ -14469,6 +14949,62 @@
       },
       "type": "object"
     },
+    "PrismaConfig": {
+      "description": "Settings specific to the MediaOcean Prisma tool.",
+      "id": "PrismaConfig",
+      "properties": {
+        "prismaCpeCode": {
+          "$ref": "PrismaCpeCode",
+          "description": "Required. Google Payments Center supports searching and filtering on this code."
+        },
+        "prismaType": {
+          "description": "Required. The Prisma type.",
+          "enum": [
+            "PRISMA_TYPE_UNSPECIFIED",
+            "PRISMA_TYPE_DISPLAY",
+            "PRISMA_TYPE_SEARCH",
+            "PRISMA_TYPE_VIDEO",
+            "PRISMA_TYPE_AUDIO",
+            "PRISMA_TYPE_SOCIAL",
+            "PRISMA_TYPE_FEE"
+          ],
+          "enumDescriptions": [
+            "Type is not specified or unknown in this version.",
+            "Display type.",
+            "Search type.",
+            "Video type.",
+            "Audio type.",
+            "Social type.",
+            "Fee type."
+          ],
+          "type": "string"
+        },
+        "supplier": {
+          "description": "Required. The entity allocated this budget (DSP, site, etc.).",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "PrismaCpeCode": {
+      "description": "Google Payments Center supports searching and filtering on the component fields of this code.",
+      "id": "PrismaCpeCode",
+      "properties": {
+        "prismaClientCode": {
+          "description": "The Prisma client code.",
+          "type": "string"
+        },
+        "prismaEstimateCode": {
+          "description": "The Prisma estimate code.",
+          "type": "string"
+        },
+        "prismaProductCode": {
+          "description": "The Prisma product code.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ProximityLocationListAssignedTargetingOptionDetails": {
       "description": "Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.",
       "id": "ProximityLocationListAssignedTargetingOptionDetails",
@@ -15134,6 +15670,10 @@
           "readOnly": true,
           "type": "string"
         },
+        "nativeContentPositionDetails": {
+          "$ref": "NativeContentPositionTargetingOptionDetails",
+          "description": "Native content position details."
+        },
         "onScreenPositionDetails": {
           "$ref": "OnScreenPositionTargetingOptionDetails",
           "description": "On screen position details."
@@ -15199,7 +15739,8 @@
             "TARGETING_TYPE_GEO_REGION",
             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
             "TARGETING_TYPE_EXCHANGE",
-            "TARGETING_TYPE_SUB_EXCHANGE"
+            "TARGETING_TYPE_SUB_EXCHANGE",
+            "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
           ],
           "enumDescriptions": [
             "Default value when type is not specified or is unknown in this version.",
@@ -15239,7 +15780,8 @@
             "Target ads to a specific regional location (for example, a city or state).",
             "Purchase impressions from a group of deals and auction packages.",
             "Purchase impressions from specific exchanges.",
-            "Purchase impressions from specific sub-exchanges."
+            "Purchase impressions from specific sub-exchanges.",
+            "Target ads to a specific native content position."
           ],
           "readOnly": true,
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json
index f4223bf..7140c0c 100644
--- a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json
@@ -96,7 +96,7 @@
   },
   "protocol": "rest",
   "resources": {},
-  "revision": "20210504",
+  "revision": "20210524",
   "rootUrl": "https://doubleclickbidmanager.googleapis.com/",
   "schemas": {},
   "servicePath": "doubleclickbidmanager/v1/",
diff --git a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v11.json b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v11.json
index 54cdfd4..5dd9853 100644
--- a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v11.json
+++ b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v11.json
@@ -280,7 +280,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210524",
   "rootUrl": "https://doubleclickbidmanager.googleapis.com/",
   "schemas": {
     "ChannelGrouping": {
@@ -2014,7 +2014,10 @@
               "METRIC_CM360_POST_CLICK_REVENUE_CROSS_ENVIRONMENT",
               "METRIC_CM360_POST_VIEW_REVENUE_CROSS_ENVIRONMENT",
               "METRIC_PERCENTAGE_FROM_CURRENT_IO_GOAL",
-              "METRIC_OMID_CAPABLE"
+              "METRIC_OMID_CAPABLE",
+              "METRIC_DUPLICATE_FLOODLIGHT_IMPRESSIONS",
+              "METRIC_COOKIE_CONSENTED_FLOODLIGHT_IMPRESSIONS",
+              "METRIC_COOKIE_UNCONSENTED_FLOODLIGHT_IMPRESSIONS"
             ],
             "enumDescriptions": [
               "",
@@ -2473,6 +2476,9 @@
               "",
               "",
               "",
+              "",
+              "",
+              "",
               ""
             ],
             "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json b/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
index a65b8c7..18d0ce3 100644
--- a/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
+++ b/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
@@ -399,7 +399,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210521",
   "rootUrl": "https://doubleclicksearch.googleapis.com/",
   "schemas": {
     "Availability": {
diff --git a/googleapiclient/discovery_cache/documents/driveactivity.v2.json b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
index dce961f..4055e0b 100644
--- a/googleapiclient/discovery_cache/documents/driveactivity.v2.json
+++ b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
@@ -132,7 +132,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210522",
   "rootUrl": "https://driveactivity.googleapis.com/",
   "schemas": {
     "Action": {
diff --git a/googleapiclient/discovery_cache/documents/file.v1beta1.json b/googleapiclient/discovery_cache/documents/file.v1beta1.json
index 13968fc..dc7fdd2 100644
--- a/googleapiclient/discovery_cache/documents/file.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/file.v1beta1.json
@@ -672,7 +672,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210520",
   "rootUrl": "https://file.googleapis.com/",
   "schemas": {
     "Backup": {
diff --git a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
index 8c1f8af..5601a49 100644
--- a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
@@ -1121,7 +1121,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210524",
   "rootUrl": "https://firebase.googleapis.com/",
   "schemas": {
     "AddFirebaseRequest": {
diff --git a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
index 71d6121..f17289a 100644
--- a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
@@ -317,7 +317,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210524",
   "rootUrl": "https://firebasedatabase.googleapis.com/",
   "schemas": {
     "DatabaseInstance": {
diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v1.json b/googleapiclient/discovery_cache/documents/firebaseml.v1.json
index a7a3913..545ff5b 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1.json
@@ -204,7 +204,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210524",
   "rootUrl": "https://firebaseml.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
index 3a2cee7..13ecad7 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
@@ -318,7 +318,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210524",
   "rootUrl": "https://firebaseml.googleapis.com/",
   "schemas": {
     "DownloadModelResponse": {
diff --git a/googleapiclient/discovery_cache/documents/fitness.v1.json b/googleapiclient/discovery_cache/documents/fitness.v1.json
index de69586..c43925f 100644
--- a/googleapiclient/discovery_cache/documents/fitness.v1.json
+++ b/googleapiclient/discovery_cache/documents/fitness.v1.json
@@ -831,7 +831,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210520",
   "rootUrl": "https://fitness.googleapis.com/",
   "schemas": {
     "AggregateBucket": {
diff --git a/googleapiclient/discovery_cache/documents/games.v1.json b/googleapiclient/discovery_cache/documents/games.v1.json
index e3fac71..4027c7f 100644
--- a/googleapiclient/discovery_cache/documents/games.v1.json
+++ b/googleapiclient/discovery_cache/documents/games.v1.json
@@ -1224,7 +1224,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210525",
   "rootUrl": "https://games.googleapis.com/",
   "schemas": {
     "AchievementDefinition": {
diff --git a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
index c826d96..ec796ba 100644
--- a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
+++ b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
@@ -439,7 +439,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210525",
   "rootUrl": "https://gamesconfiguration.googleapis.com/",
   "schemas": {
     "AchievementConfiguration": {
diff --git a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
index af5acab..ff48053 100644
--- a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
+++ b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
@@ -471,7 +471,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210525",
   "rootUrl": "https://gamesmanagement.googleapis.com/",
   "schemas": {
     "AchievementResetAllResponse": {
diff --git a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
index 42a9724..c3774ba 100644
--- a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
@@ -1357,7 +1357,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210520",
   "rootUrl": "https://gameservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1.json b/googleapiclient/discovery_cache/documents/gkehub.v1.json
index a59a6f3..6f1beec 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1.json
@@ -177,6 +177,97 @@
             }
           },
           "resources": {
+            "features": {
+              "methods": {
+                "getIamPolicy": {
+                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:getIamPolicy",
+                  "httpMethod": "GET",
+                  "id": "gkehub.projects.locations.features.getIamPolicy",
+                  "parameterOrder": [
+                    "resource"
+                  ],
+                  "parameters": {
+                    "options.requestedPolicyVersion": {
+                      "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "resource": {
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+resource}:getIamPolicy",
+                  "response": {
+                    "$ref": "Policy"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "setIamPolicy": {
+                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:setIamPolicy",
+                  "httpMethod": "POST",
+                  "id": "gkehub.projects.locations.features.setIamPolicy",
+                  "parameterOrder": [
+                    "resource"
+                  ],
+                  "parameters": {
+                    "resource": {
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+resource}:setIamPolicy",
+                  "request": {
+                    "$ref": "SetIamPolicyRequest"
+                  },
+                  "response": {
+                    "$ref": "Policy"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "testIamPermissions": {
+                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:testIamPermissions",
+                  "httpMethod": "POST",
+                  "id": "gkehub.projects.locations.features.testIamPermissions",
+                  "parameterOrder": [
+                    "resource"
+                  ],
+                  "parameters": {
+                    "resource": {
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+resource}:testIamPermissions",
+                  "request": {
+                    "$ref": "TestIamPermissionsRequest"
+                  },
+                  "response": {
+                    "$ref": "TestIamPermissionsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                }
+              }
+            },
             "memberships": {
               "methods": {
                 "create": {
@@ -631,7 +722,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210521",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
index b1d653d..690588e 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
@@ -670,7 +670,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210521",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -1069,6 +1069,22 @@
             "Deployment was attempted to be installed, but has errors"
           ],
           "type": "string"
+        },
+        "gatekeeperMutation": {
+          "description": "Status of the pod serving the mutation webhook.",
+          "enum": [
+            "DEPLOYMENT_STATE_UNSPECIFIED",
+            "NOT_INSTALLED",
+            "INSTALLED",
+            "ERROR"
+          ],
+          "enumDescriptions": [
+            "Deployment's state cannot be determined",
+            "Deployment is not installed",
+            "Deployment is installed",
+            "Deployment was attempted to be installed, but has errors"
+          ],
+          "type": "string"
         }
       },
       "type": "object"
@@ -1351,6 +1367,10 @@
           "description": "Logs all denies and dry run failures.",
           "type": "boolean"
         },
+        "mutationEnabled": {
+          "description": "Enable users to try out mutation for PolicyController.",
+          "type": "boolean"
+        },
         "referentialRulesEnabled": {
           "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.",
           "type": "boolean"
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
index 6e7de7d..43de55d 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
@@ -652,7 +652,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210521",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
index b6c7a35..26d2e5c 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
@@ -670,7 +670,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210521",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/manufacturers.v1.json b/googleapiclient/discovery_cache/documents/manufacturers.v1.json
index 18f980f..3a6700d 100644
--- a/googleapiclient/discovery_cache/documents/manufacturers.v1.json
+++ b/googleapiclient/discovery_cache/documents/manufacturers.v1.json
@@ -287,7 +287,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210519",
   "rootUrl": "https://manufacturers.googleapis.com/",
   "schemas": {
     "Attributes": {
diff --git a/googleapiclient/discovery_cache/documents/memcache.v1.json b/googleapiclient/discovery_cache/documents/memcache.v1.json
index eace564..2a5ea86 100644
--- a/googleapiclient/discovery_cache/documents/memcache.v1.json
+++ b/googleapiclient/discovery_cache/documents/memcache.v1.json
@@ -528,7 +528,7 @@
       }
     }
   },
-  "revision": "20210517",
+  "revision": "20210524",
   "rootUrl": "https://memcache.googleapis.com/",
   "schemas": {
     "ApplyParametersRequest": {
diff --git a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
index cec6a75..b2d9d4b 100644
--- a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
@@ -556,7 +556,7 @@
       }
     }
   },
-  "revision": "20210517",
+  "revision": "20210524",
   "rootUrl": "https://memcache.googleapis.com/",
   "schemas": {
     "ApplyParametersRequest": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
index 1133ab4..001eedb 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
@@ -530,7 +530,7 @@
       }
     }
   },
-  "revision": "20210520",
+  "revision": "20210522",
   "rootUrl": "https://mybusinessaccountmanagement.googleapis.com/",
   "schemas": {
     "AcceptInvitationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
index 8103c9c..a5f45b2 100644
--- a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20210520",
+  "revision": "20210522",
   "rootUrl": "https://mybusinesslodging.googleapis.com/",
   "schemas": {
     "Accessibility": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
index b2df77b..44d3251 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
@@ -281,7 +281,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210522",
   "rootUrl": "https://mybusinessplaceactions.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json b/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json
new file mode 100644
index 0000000..5511a3f
--- /dev/null
+++ b/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json
@@ -0,0 +1,2252 @@
+{
+  "auth": {
+    "oauth2": {
+      "scopes": {
+        "https://www.googleapis.com/auth/cloud-platform": {
+          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+        }
+      }
+    }
+  },
+  "basePath": "",
+  "baseUrl": "https://osconfig.googleapis.com/",
+  "batchPath": "batch",
+  "canonicalName": "OS Config",
+  "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.",
+  "discoveryVersion": "v1",
+  "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest",
+  "fullyEncodeReservedExpansion": true,
+  "icons": {
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
+  },
+  "id": "osconfig:v1alpha",
+  "kind": "discovery#restDescription",
+  "mtlsRootUrl": "https://osconfig.mtls.googleapis.com/",
+  "name": "osconfig",
+  "ownerDomain": "google.com",
+  "ownerName": "Google",
+  "parameters": {
+    "$.xgafv": {
+      "description": "V1 error format.",
+      "enum": [
+        "1",
+        "2"
+      ],
+      "enumDescriptions": [
+        "v1 error format",
+        "v2 error format"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "access_token": {
+      "description": "OAuth access token.",
+      "location": "query",
+      "type": "string"
+    },
+    "alt": {
+      "default": "json",
+      "description": "Data format for response.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "callback": {
+      "description": "JSONP",
+      "location": "query",
+      "type": "string"
+    },
+    "fields": {
+      "description": "Selector specifying which fields to include in a partial response.",
+      "location": "query",
+      "type": "string"
+    },
+    "key": {
+      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
+      "location": "query",
+      "type": "string"
+    },
+    "oauth_token": {
+      "description": "OAuth 2.0 token for the current user.",
+      "location": "query",
+      "type": "string"
+    },
+    "prettyPrint": {
+      "default": "true",
+      "description": "Returns response with indentations and line breaks.",
+      "location": "query",
+      "type": "boolean"
+    },
+    "quotaUser": {
+      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
+      "location": "query",
+      "type": "string"
+    },
+    "uploadType": {
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    },
+    "upload_protocol": {
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    }
+  },
+  "protocol": "rest",
+  "resources": {
+    "projects": {
+      "resources": {
+        "locations": {
+          "resources": {
+            "instanceOSPoliciesCompliances": {
+              "methods": {
+                "get": {
+                  "description": "Get OS policies compliance data for the specified Compute Engine VM instance.",
+                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instanceOSPoliciesCompliances/{instanceOSPoliciesCompliancesId}",
+                  "httpMethod": "GET",
+                  "id": "osconfig.projects.locations.instanceOSPoliciesCompliances.get",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. API resource name for instance OS policies compliance resource. Format: `projects/{project}/locations/{location}/instanceOSPoliciesCompliances/{instance}` For `{project}`, either Compute Engine project-number or project-id can be provided. For `{instance}`, either Compute Engine VM instance-id or instance-name can be provided.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/instanceOSPoliciesCompliances/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "InstanceOSPoliciesCompliance"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "list": {
+                  "description": "List OS policies compliance data for all Compute Engine VM instances in the specified zone.",
+                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instanceOSPoliciesCompliances",
+                  "httpMethod": "GET",
+                  "id": "osconfig.projects.locations.instanceOSPoliciesCompliances.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "filter": {
+                      "description": "If provided, this field specifies the criteria that must be met by a `InstanceOSPoliciesCompliance` API resource to be included in the response.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "pageSize": {
+                      "description": "The maximum number of results to return.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "A pagination token returned from a previous call to `ListInstanceOSPoliciesCompliances` that indicates where this listing should continue from.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}` For `{project}`, either Compute Engine project-number or project-id can be provided.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/instanceOSPoliciesCompliances",
+                  "response": {
+                    "$ref": "ListInstanceOSPoliciesCompliancesResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                }
+              }
+            },
+            "instances": {
+              "resources": {
+                "inventories": {
+                  "methods": {
+                    "get": {
+                      "description": "Get inventory data for the specified VM instance. If the VM has no associated inventory, the message `NOT_FOUND` is returned.",
+                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/inventory",
+                      "httpMethod": "GET",
+                      "id": "osconfig.projects.locations.instances.inventories.get",
+                      "parameterOrder": [
+                        "name"
+                      ],
+                      "parameters": {
+                        "name": {
+                          "description": "Required. API resource name for inventory resource. Format: `projects/{project}/locations/{location}/instances/{instance}/inventory` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either Compute Engine `instance-id` or `instance-name` can be provided.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/inventory$",
+                          "required": true,
+                          "type": "string"
+                        },
+                        "view": {
+                          "description": "Inventory view indicating what information should be included in the inventory resource. If unspecified, the default view is BASIC.",
+                          "enum": [
+                            "INVENTORY_VIEW_UNSPECIFIED",
+                            "BASIC",
+                            "FULL"
+                          ],
+                          "enumDescriptions": [
+                            "The default value. The API defaults to the BASIC view.",
+                            "Returns the basic inventory information that includes `os_info`.",
+                            "Returns all fields."
+                          ],
+                          "location": "query",
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1alpha/{+name}",
+                      "response": {
+                        "$ref": "Inventory"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
+                    },
+                    "list": {
+                      "description": "List inventory data for all VM instances in the specified zone.",
+                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/inventories",
+                      "httpMethod": "GET",
+                      "id": "osconfig.projects.locations.instances.inventories.list",
+                      "parameterOrder": [
+                        "parent"
+                      ],
+                      "parameters": {
+                        "filter": {
+                          "description": "If provided, this field specifies the criteria that must be met by a `Inventory` API resource to be included in the response.",
+                          "location": "query",
+                          "type": "string"
+                        },
+                        "pageSize": {
+                          "description": "The maximum number of results to return.",
+                          "format": "int32",
+                          "location": "query",
+                          "type": "integer"
+                        },
+                        "pageToken": {
+                          "description": "A pagination token returned from a previous call to `ListInventories` that indicates where this listing should continue from.",
+                          "location": "query",
+                          "type": "string"
+                        },
+                        "parent": {
+                          "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/{instance}` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, only hyphen or dash character is supported to list inventories across VMs.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
+                          "required": true,
+                          "type": "string"
+                        },
+                        "view": {
+                          "description": "Inventory view indicating what information should be included in the inventory resource. If unspecified, the default view is BASIC.",
+                          "enum": [
+                            "INVENTORY_VIEW_UNSPECIFIED",
+                            "BASIC",
+                            "FULL"
+                          ],
+                          "enumDescriptions": [
+                            "The default value. The API defaults to the BASIC view.",
+                            "Returns the basic inventory information that includes `os_info`.",
+                            "Returns all fields."
+                          ],
+                          "location": "query",
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1alpha/{+parent}/inventories",
+                      "response": {
+                        "$ref": "ListInventoriesResponse"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
+                    }
+                  }
+                },
+                "vulnerabilityReports": {
+                  "methods": {
+                    "get": {
+                      "description": "Gets the vulnerability report for the specified VM instance. Only VMs with inventory data have vulnerability reports associated with them.",
+                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/vulnerabilityReport",
+                      "httpMethod": "GET",
+                      "id": "osconfig.projects.locations.instances.vulnerabilityReports.get",
+                      "parameterOrder": [
+                        "name"
+                      ],
+                      "parameters": {
+                        "name": {
+                          "description": "Required. API resource name for vulnerability resource. Format: `projects/{project}/locations/{location}/instances/{instance}/vulnerabilityReport` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either Compute Engine `instance-id` or `instance-name` can be provided.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/vulnerabilityReport$",
+                          "required": true,
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1alpha/{+name}",
+                      "response": {
+                        "$ref": "VulnerabilityReport"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
+                    },
+                    "list": {
+                      "description": "List vulnerability reports for all VM instances in the specified zone.",
+                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/vulnerabilityReports",
+                      "httpMethod": "GET",
+                      "id": "osconfig.projects.locations.instances.vulnerabilityReports.list",
+                      "parameterOrder": [
+                        "parent"
+                      ],
+                      "parameters": {
+                        "filter": {
+                          "description": "If provided, this field specifies the criteria that must be met by a `vulnerabilityReport` API resource to be included in the response.",
+                          "location": "query",
+                          "type": "string"
+                        },
+                        "pageSize": {
+                          "description": "The maximum number of results to return.",
+                          "format": "int32",
+                          "location": "query",
+                          "type": "integer"
+                        },
+                        "pageToken": {
+                          "description": "A pagination token returned from a previous call to `ListVulnerabilityReports` that indicates where this listing should continue from.",
+                          "location": "query",
+                          "type": "string"
+                        },
+                        "parent": {
+                          "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/{instance}` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, only `-` character is supported to list vulnerability reports across VMs.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
+                          "required": true,
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1alpha/{+parent}/vulnerabilityReports",
+                      "response": {
+                        "$ref": "ListVulnerabilityReportsResponse"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
+                    }
+                  }
+                }
+              }
+            },
+            "osPolicyAssignments": {
+              "methods": {
+                "create": {
+                  "description": "Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).",
+                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments",
+                  "httpMethod": "POST",
+                  "id": "osconfig.projects.locations.osPolicyAssignments.create",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "osPolicyAssignmentId": {
+                      "description": "Required. The logical name of the OS policy assignment in the project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. The parent resource name in the form: projects/{project}/locations/{location}",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/osPolicyAssignments",
+                  "request": {
+                    "$ref": "OSPolicyAssignment"
+                  },
+                  "response": {
+                    "$ref": "Operation"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "delete": {
+                  "description": "Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).",
+                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}",
+                  "httpMethod": "DELETE",
+                  "id": "osconfig.projects.locations.osPolicyAssignments.delete",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the OS policy assignment to be deleted",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "Operation"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "get": {
+                  "description": "Retrieve an existing OS policy assignment. This method always returns the latest revision. In order to retrieve a previous revision of the assignment, also provide the revision ID in the `name` parameter.",
+                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}",
+                  "httpMethod": "GET",
+                  "id": "osconfig.projects.locations.osPolicyAssignments.get",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The resource name of OS policy assignment. Format: `projects/{project}/locations/{location}/osPolicyAssignments/{os_policy_assignment}@{revisionId}`",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "OSPolicyAssignment"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "list": {
+                  "description": "List the OS policy assignments under the parent resource. For each OS policy assignment, the latest revision is returned.",
+                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments",
+                  "httpMethod": "GET",
+                  "id": "osconfig.projects.locations.osPolicyAssignments.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "pageSize": {
+                      "description": "The maximum number of assignments to return.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "A pagination token returned from a previous call to `ListOSPolicyAssignments` that indicates where this listing should continue from.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. The parent resource name.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/osPolicyAssignments",
+                  "response": {
+                    "$ref": "ListOSPolicyAssignmentsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "listRevisions": {
+                  "description": "List the OS policy assignment revisions for a given OS policy assignment.",
+                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}:listRevisions",
+                  "httpMethod": "GET",
+                  "id": "osconfig.projects.locations.osPolicyAssignments.listRevisions",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the OS policy assignment to list revisions for.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "pageSize": {
+                      "description": "The maximum number of revisions to return.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "A pagination token returned from a previous call to `ListOSPolicyAssignmentRevisions` that indicates where this listing should continue from.",
+                      "location": "query",
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}:listRevisions",
+                  "response": {
+                    "$ref": "ListOSPolicyAssignmentRevisionsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "patch": {
+                  "description": "Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).",
+                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}",
+                  "httpMethod": "PATCH",
+                  "id": "osconfig.projects.locations.osPolicyAssignments.patch",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "updateMask": {
+                      "description": "Optional. Field mask that controls which fields of the assignment should be updated.",
+                      "format": "google-fieldmask",
+                      "location": "query",
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "request": {
+                    "$ref": "OSPolicyAssignment"
+                  },
+                  "response": {
+                    "$ref": "Operation"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                }
+              },
+              "resources": {
+                "operations": {
+                  "methods": {
+                    "cancel": {
+                      "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
+                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}/operations/{operationsId}:cancel",
+                      "httpMethod": "POST",
+                      "id": "osconfig.projects.locations.osPolicyAssignments.operations.cancel",
+                      "parameterOrder": [
+                        "name"
+                      ],
+                      "parameters": {
+                        "name": {
+                          "description": "The name of the operation resource to be cancelled.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+/operations/[^/]+$",
+                          "required": true,
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1alpha/{+name}:cancel",
+                      "request": {
+                        "$ref": "CancelOperationRequest"
+                      },
+                      "response": {
+                        "$ref": "Empty"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
+                    },
+                    "get": {
+                      "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
+                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}/operations/{operationsId}",
+                      "httpMethod": "GET",
+                      "id": "osconfig.projects.locations.osPolicyAssignments.operations.get",
+                      "parameterOrder": [
+                        "name"
+                      ],
+                      "parameters": {
+                        "name": {
+                          "description": "The name of the operation resource.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+/operations/[^/]+$",
+                          "required": true,
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1alpha/{+name}",
+                      "response": {
+                        "$ref": "Operation"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "revision": "20210430",
+  "rootUrl": "https://osconfig.googleapis.com/",
+  "schemas": {
+    "CVSSv3": {
+      "description": "Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document",
+      "id": "CVSSv3",
+      "properties": {
+        "attackComplexity": {
+          "description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.",
+          "enum": [
+            "ATTACK_COMPLEXITY_UNSPECIFIED",
+            "ATTACK_COMPLEXITY_LOW",
+            "ATTACK_COMPLEXITY_HIGH"
+          ],
+          "enumDescriptions": [
+            "Invalid value.",
+            "Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.",
+            "A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected."
+          ],
+          "type": "string"
+        },
+        "attackVector": {
+          "description": "This metric reflects the context by which vulnerability exploitation is possible.",
+          "enum": [
+            "ATTACK_VECTOR_UNSPECIFIED",
+            "ATTACK_VECTOR_NETWORK",
+            "ATTACK_VECTOR_ADJACENT",
+            "ATTACK_VECTOR_LOCAL",
+            "ATTACK_VECTOR_PHYSICAL"
+          ],
+          "enumDescriptions": [
+            "Invalid value.",
+            "The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.",
+            "The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.",
+            "The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.",
+            "The attack requires the attacker to physically touch or manipulate the vulnerable component."
+          ],
+          "type": "string"
+        },
+        "availabilityImpact": {
+          "description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.",
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "Invalid value.",
+            "High impact.",
+            "Low impact.",
+            "No impact."
+          ],
+          "type": "string"
+        },
+        "baseScore": {
+          "description": "The base score is a function of the base metric scores. https://www.first.org/cvss/specification-document#Base-Metrics",
+          "format": "float",
+          "type": "number"
+        },
+        "confidentialityImpact": {
+          "description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.",
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "Invalid value.",
+            "High impact.",
+            "Low impact.",
+            "No impact."
+          ],
+          "type": "string"
+        },
+        "exploitabilityScore": {
+          "description": "The Exploitability sub-score equation is derived from the Base Exploitability metrics. https://www.first.org/cvss/specification-document#2-1-Exploitability-Metrics",
+          "format": "float",
+          "type": "number"
+        },
+        "impactScore": {
+          "description": "The Impact sub-score equation is derived from the Base Impact metrics.",
+          "format": "float",
+          "type": "number"
+        },
+        "integrityImpact": {
+          "description": "This metric measures the impact to integrity of a successfully exploited vulnerability.",
+          "enum": [
+            "IMPACT_UNSPECIFIED",
+            "IMPACT_HIGH",
+            "IMPACT_LOW",
+            "IMPACT_NONE"
+          ],
+          "enumDescriptions": [
+            "Invalid value.",
+            "High impact.",
+            "Low impact.",
+            "No impact."
+          ],
+          "type": "string"
+        },
+        "privilegesRequired": {
+          "description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.",
+          "enum": [
+            "PRIVILEGES_REQUIRED_UNSPECIFIED",
+            "PRIVILEGES_REQUIRED_NONE",
+            "PRIVILEGES_REQUIRED_LOW",
+            "PRIVILEGES_REQUIRED_HIGH"
+          ],
+          "enumDescriptions": [
+            "Invalid value.",
+            "The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.",
+            "The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.",
+            "The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files."
+          ],
+          "type": "string"
+        },
+        "scope": {
+          "description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.",
+          "enum": [
+            "SCOPE_UNSPECIFIED",
+            "SCOPE_UNCHANGED",
+            "SCOPE_CHANGED"
+          ],
+          "enumDescriptions": [
+            "Invalid value.",
+            "An exploited vulnerability can only affect resources managed by the same security authority.",
+            "An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component."
+          ],
+          "type": "string"
+        },
+        "userInteraction": {
+          "description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.",
+          "enum": [
+            "USER_INTERACTION_UNSPECIFIED",
+            "USER_INTERACTION_NONE",
+            "USER_INTERACTION_REQUIRED"
+          ],
+          "enumDescriptions": [
+            "Invalid value.",
+            "The vulnerable system can be exploited without interaction from any user.",
+            "Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "CancelOperationRequest": {
+      "description": "The request message for Operations.CancelOperation.",
+      "id": "CancelOperationRequest",
+      "properties": {},
+      "type": "object"
+    },
+    "Empty": {
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
+      "id": "Empty",
+      "properties": {},
+      "type": "object"
+    },
+    "FixedOrPercent": {
+      "description": "Message encapsulating a value that can be either absolute (\"fixed\") or relative (\"percent\") to a value.",
+      "id": "FixedOrPercent",
+      "properties": {
+        "fixed": {
+          "description": "Specifies a fixed value.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "percent": {
+          "description": "Specifies the relative value defined as a percentage, which will be multiplied by a reference value.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
+    "InstanceOSPoliciesCompliance": {
+      "description": "This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](/compute/docs/os-configuration-management/view-compliance).",
+      "id": "InstanceOSPoliciesCompliance",
+      "properties": {
+        "detailedState": {
+          "description": "Output only. Detailed compliance state of the VM. This field is populated only when compliance state is `UNKNOWN`. It may contain one of the following values: * `no-compliance-data`: Compliance data is not available for this VM. * `no-agent-detected`: OS Config agent is not detected for this VM. * `config-not-supported-by-agent`: The version of the OS Config agent running on this VM does not support configuration management. * `inactive`: VM is not running. * `internal-service-errors`: There were internal service errors encountered while enforcing compliance. * `agent-errors`: OS config agent encountered errors while enforcing compliance.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "detailedStateReason": {
+          "description": "Output only. The reason for the `detailed_state` of the VM (if any).",
+          "readOnly": true,
+          "type": "string"
+        },
+        "instance": {
+          "description": "Output only. The Compute Engine VM instance name.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "lastComplianceCheckTime": {
+          "description": "Output only. Timestamp of the last compliance check for the VM.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "lastComplianceRunId": {
+          "description": "Output only. Unique identifier for the last compliance run. This id will be logged by the OS config agent during a compliance run and can be used for debugging and tracing purpose.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "name": {
+          "description": "Output only. The `InstanceOSPoliciesCompliance` API resource name. Format: `projects/{project_number}/locations/{location}/instanceOSPoliciesCompliances/{instance_id}`",
+          "readOnly": true,
+          "type": "string"
+        },
+        "osPolicyCompliances": {
+          "description": "Output only. Compliance data for each `OSPolicy` that is applied to the VM.",
+          "items": {
+            "$ref": "InstanceOSPoliciesComplianceOSPolicyCompliance"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
+        "state": {
+          "description": "Output only. Compliance state of the VM.",
+          "enum": [
+            "OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED",
+            "COMPLIANT",
+            "NON_COMPLIANT",
+            "UNKNOWN",
+            "NO_OS_POLICIES_APPLICABLE"
+          ],
+          "enumDescriptions": [
+            "Default value. This value is unused.",
+            "Compliant state.",
+            "Non-compliant state",
+            "Unknown compliance state.",
+            "No applicable OS policies were found for the instance. This state is only applicable to the instance."
+          ],
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "InstanceOSPoliciesComplianceOSPolicyCompliance": {
+      "description": "Compliance data for an OS policy",
+      "id": "InstanceOSPoliciesComplianceOSPolicyCompliance",
+      "properties": {
+        "osPolicyAssignment": {
+          "description": "Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`",
+          "type": "string"
+        },
+        "osPolicyId": {
+          "description": "The OS policy id",
+          "type": "string"
+        },
+        "osPolicyResourceCompliances": {
+          "description": "Compliance data for each `OSPolicyResource` that is applied to the VM.",
+          "items": {
+            "$ref": "OSPolicyResourceCompliance"
+          },
+          "type": "array"
+        },
+        "state": {
+          "description": "Compliance state of the OS policy.",
+          "enum": [
+            "OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED",
+            "COMPLIANT",
+            "NON_COMPLIANT",
+            "UNKNOWN",
+            "NO_OS_POLICIES_APPLICABLE"
+          ],
+          "enumDescriptions": [
+            "Default value. This value is unused.",
+            "Compliant state.",
+            "Non-compliant state",
+            "Unknown compliance state.",
+            "No applicable OS policies were found for the instance. This state is only applicable to the instance."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Inventory": {
+      "description": "This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](/compute/docs/instances/os-inventory-management#data-collected).",
+      "id": "Inventory",
+      "properties": {
+        "items": {
+          "additionalProperties": {
+            "$ref": "InventoryItem"
+          },
+          "description": "Output only. Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.",
+          "readOnly": true,
+          "type": "object"
+        },
+        "name": {
+          "description": "Output only. The `Inventory` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory`",
+          "readOnly": true,
+          "type": "string"
+        },
+        "osInfo": {
+          "$ref": "InventoryOsInfo",
+          "description": "Output only. Base level operating system information for the VM.",
+          "readOnly": true
+        },
+        "updateTime": {
+          "description": "Output only. Timestamp of the last reported inventory for the VM.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "InventoryItem": {
+      "description": "A single piece of inventory on a VM.",
+      "id": "InventoryItem",
+      "properties": {
+        "availablePackage": {
+          "$ref": "InventorySoftwarePackage",
+          "description": "Software package available to be installed on the VM instance."
+        },
+        "createTime": {
+          "description": "When this inventory item was first detected.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "id": {
+          "description": "Identifier for this item, unique across items for this VM.",
+          "type": "string"
+        },
+        "installedPackage": {
+          "$ref": "InventorySoftwarePackage",
+          "description": "Software package present on the VM instance."
+        },
+        "originType": {
+          "description": "The origin of this inventory item.",
+          "enum": [
+            "ORIGIN_TYPE_UNSPECIFIED",
+            "INVENTORY_REPORT"
+          ],
+          "enumDescriptions": [
+            "Invalid. An origin type must be specified.",
+            "This inventory item was discovered as the result of the agent reporting inventory via the reporting API."
+          ],
+          "type": "string"
+        },
+        "type": {
+          "description": "The specific type of inventory, correlating to its specific details.",
+          "enum": [
+            "TYPE_UNSPECIFIED",
+            "INSTALLED_PACKAGE",
+            "AVAILABLE_PACKAGE"
+          ],
+          "enumDescriptions": [
+            "Invalid. An type must be specified.",
+            "This represents a package that is installed on the VM.",
+            "This represents an update that is available for a package."
+          ],
+          "type": "string"
+        },
+        "updateTime": {
+          "description": "When this inventory item was last modified.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "InventoryOsInfo": {
+      "description": "Operating system information for the VM.",
+      "id": "InventoryOsInfo",
+      "properties": {
+        "architecture": {
+          "description": "The system architecture of the operating system.",
+          "type": "string"
+        },
+        "hostname": {
+          "description": "The VM hostname.",
+          "type": "string"
+        },
+        "kernelRelease": {
+          "description": "The kernel release of the operating system.",
+          "type": "string"
+        },
+        "kernelVersion": {
+          "description": "The kernel version of the operating system.",
+          "type": "string"
+        },
+        "longName": {
+          "description": "The operating system long name. For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019 Datacenter'.",
+          "type": "string"
+        },
+        "osconfigAgentVersion": {
+          "description": "The current version of the OS Config agent running on the VM.",
+          "type": "string"
+        },
+        "shortName": {
+          "description": "The operating system short name. For example, 'windows' or 'debian'.",
+          "type": "string"
+        },
+        "version": {
+          "description": "The version of the operating system.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "InventorySoftwarePackage": {
+      "description": "Software package information of the operating system.",
+      "id": "InventorySoftwarePackage",
+      "properties": {
+        "aptPackage": {
+          "$ref": "InventoryVersionedPackage",
+          "description": "Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt."
+        },
+        "cosPackage": {
+          "$ref": "InventoryVersionedPackage",
+          "description": "Details of a COS package."
+        },
+        "googetPackage": {
+          "$ref": "InventoryVersionedPackage",
+          "description": "Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet."
+        },
+        "qfePackage": {
+          "$ref": "InventoryWindowsQuickFixEngineeringPackage",
+          "description": "Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering."
+        },
+        "wuaPackage": {
+          "$ref": "InventoryWindowsUpdatePackage",
+          "description": "Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update."
+        },
+        "yumPackage": {
+          "$ref": "InventoryVersionedPackage",
+          "description": "Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum."
+        },
+        "zypperPackage": {
+          "$ref": "InventoryVersionedPackage",
+          "description": "Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual."
+        },
+        "zypperPatch": {
+          "$ref": "InventoryZypperPatch",
+          "description": "Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual."
+        }
+      },
+      "type": "object"
+    },
+    "InventoryVersionedPackage": {
+      "description": "Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers.",
+      "id": "InventoryVersionedPackage",
+      "properties": {
+        "architecture": {
+          "description": "The system architecture this package is intended for.",
+          "type": "string"
+        },
+        "packageName": {
+          "description": "The name of the package.",
+          "type": "string"
+        },
+        "version": {
+          "description": "The version of the package.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "InventoryWindowsQuickFixEngineeringPackage": {
+      "description": "Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering",
+      "id": "InventoryWindowsQuickFixEngineeringPackage",
+      "properties": {
+        "caption": {
+          "description": "A short textual description of the QFE update.",
+          "type": "string"
+        },
+        "description": {
+          "description": "A textual description of the QFE update.",
+          "type": "string"
+        },
+        "hotFixId": {
+          "description": "Unique identifier associated with a particular QFE update.",
+          "type": "string"
+        },
+        "installTime": {
+          "description": "Date that the QFE update was installed. Mapped from installed_on field.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "InventoryWindowsUpdatePackage": {
+      "description": "Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated.",
+      "id": "InventoryWindowsUpdatePackage",
+      "properties": {
+        "categories": {
+          "description": "The categories that are associated with this update package.",
+          "items": {
+            "$ref": "InventoryWindowsUpdatePackageWindowsUpdateCategory"
+          },
+          "type": "array"
+        },
+        "description": {
+          "description": "The localized description of the update package.",
+          "type": "string"
+        },
+        "kbArticleIds": {
+          "description": "A collection of Microsoft Knowledge Base article IDs that are associated with the update package.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "lastDeploymentChangeTime": {
+          "description": "The last published date of the update, in (UTC) date and time.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "moreInfoUrls": {
+          "description": "A collection of URLs that provide more information about the update package.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "revisionNumber": {
+          "description": "The revision number of this update package.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "supportUrl": {
+          "description": "A hyperlink to the language-specific support information for the update.",
+          "type": "string"
+        },
+        "title": {
+          "description": "The localized title of the update package.",
+          "type": "string"
+        },
+        "updateId": {
+          "description": "Gets the identifier of an update package. Stays the same across revisions.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "InventoryWindowsUpdatePackageWindowsUpdateCategory": {
+      "description": "Categories specified by the Windows Update.",
+      "id": "InventoryWindowsUpdatePackageWindowsUpdateCategory",
+      "properties": {
+        "id": {
+          "description": "The identifier of the windows update category.",
+          "type": "string"
+        },
+        "name": {
+          "description": "The name of the windows update category.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "InventoryZypperPatch": {
+      "description": "Details related to a Zypper Patch.",
+      "id": "InventoryZypperPatch",
+      "properties": {
+        "category": {
+          "description": "The category of the patch.",
+          "type": "string"
+        },
+        "patchName": {
+          "description": "The name of the patch.",
+          "type": "string"
+        },
+        "severity": {
+          "description": "The severity specified for this patch",
+          "type": "string"
+        },
+        "summary": {
+          "description": "Any summary information provided about this patch.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "ListInstanceOSPoliciesCompliancesResponse": {
+      "description": "A response message for listing OS policies compliance data for all Compute Engine VMs in the given location.",
+      "id": "ListInstanceOSPoliciesCompliancesResponse",
+      "properties": {
+        "instanceOsPoliciesCompliances": {
+          "description": "List of instance OS policies compliance objects.",
+          "items": {
+            "$ref": "InstanceOSPoliciesCompliance"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The pagination token to retrieve the next page of instance OS policies compliance objects.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "ListInventoriesResponse": {
+      "description": "A response message for listing inventory data for all VMs in a specified location.",
+      "id": "ListInventoriesResponse",
+      "properties": {
+        "inventories": {
+          "description": "List of inventory objects.",
+          "items": {
+            "$ref": "Inventory"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The pagination token to retrieve the next page of inventory objects.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "ListOSPolicyAssignmentRevisionsResponse": {
+      "description": "A response message for listing all revisions for a OS policy assignment.",
+      "id": "ListOSPolicyAssignmentRevisionsResponse",
+      "properties": {
+        "nextPageToken": {
+          "description": "The pagination token to retrieve the next page of OS policy assignment revisions.",
+          "type": "string"
+        },
+        "osPolicyAssignments": {
+          "description": "The OS policy assignment revisions",
+          "items": {
+            "$ref": "OSPolicyAssignment"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "ListOSPolicyAssignmentsResponse": {
+      "description": "A response message for listing all assignments under given parent.",
+      "id": "ListOSPolicyAssignmentsResponse",
+      "properties": {
+        "nextPageToken": {
+          "description": "The pagination token to retrieve the next page of OS policy assignments.",
+          "type": "string"
+        },
+        "osPolicyAssignments": {
+          "description": "The list of assignments",
+          "items": {
+            "$ref": "OSPolicyAssignment"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "ListVulnerabilityReportsResponse": {
+      "description": "A response message for listing vulnerability reports for all VM instances in the specified location.",
+      "id": "ListVulnerabilityReportsResponse",
+      "properties": {
+        "nextPageToken": {
+          "description": "The pagination token to retrieve the next page of vulnerabilityReports object.",
+          "type": "string"
+        },
+        "vulnerabilityReports": {
+          "description": "List of vulnerabilityReport objects.",
+          "items": {
+            "$ref": "VulnerabilityReport"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicy": {
+      "description": "An OS policy defines the desired state configuration for a VM.",
+      "id": "OSPolicy",
+      "properties": {
+        "allowNoResourceGroupMatch": {
+          "description": "This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.",
+          "type": "boolean"
+        },
+        "description": {
+          "description": "Policy description. Length of the description is limited to 1024 characters.",
+          "type": "string"
+        },
+        "id": {
+          "description": "Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.",
+          "type": "string"
+        },
+        "mode": {
+          "description": "Required. Policy mode",
+          "enum": [
+            "MODE_UNSPECIFIED",
+            "VALIDATION",
+            "ENFORCEMENT"
+          ],
+          "enumDescriptions": [
+            "Invalid mode",
+            "This mode checks if the configuration resources in the policy are in their desired state. No actions are performed if they are not in the desired state. This mode is used for reporting purposes.",
+            "This mode checks if the configuration resources in the policy are in their desired state, and if not, enforces the desired state."
+          ],
+          "type": "string"
+        },
+        "resourceGroups": {
+          "description": "Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`",
+          "items": {
+            "$ref": "OSPolicyResourceGroup"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyAssignment": {
+      "description": "OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).",
+      "id": "OSPolicyAssignment",
+      "properties": {
+        "baseline": {
+          "description": "Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.",
+          "readOnly": true,
+          "type": "boolean"
+        },
+        "deleted": {
+          "description": "Output only. Indicates that this revision deletes the OS policy assignment.",
+          "readOnly": true,
+          "type": "boolean"
+        },
+        "description": {
+          "description": "OS policy assignment description. Length of the description is limited to 1024 characters.",
+          "type": "string"
+        },
+        "instanceFilter": {
+          "$ref": "OSPolicyAssignmentInstanceFilter",
+          "description": "Required. Filter to select VMs."
+        },
+        "name": {
+          "description": "Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.",
+          "type": "string"
+        },
+        "osPolicies": {
+          "description": "Required. List of OS policies to be applied to the VMs.",
+          "items": {
+            "$ref": "OSPolicy"
+          },
+          "type": "array"
+        },
+        "reconciling": {
+          "description": "Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING",
+          "readOnly": true,
+          "type": "boolean"
+        },
+        "revisionCreateTime": {
+          "description": "Output only. The timestamp that the revision was created.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "revisionId": {
+          "description": "Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment",
+          "readOnly": true,
+          "type": "string"
+        },
+        "rollout": {
+          "$ref": "OSPolicyAssignmentRollout",
+          "description": "Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted."
+        },
+        "rolloutState": {
+          "description": "Output only. OS policy assignment rollout state",
+          "enum": [
+            "ROLLOUT_STATE_UNSPECIFIED",
+            "IN_PROGRESS",
+            "CANCELLING",
+            "CANCELLED",
+            "SUCCEEDED"
+          ],
+          "enumDescriptions": [
+            "Invalid value",
+            "The rollout is in progress.",
+            "The rollout is being cancelled.",
+            "The rollout is cancelled.",
+            "The rollout has completed successfully."
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
+        "uid": {
+          "description": "Output only. Server generated unique id for the OS policy assignment resource.",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyAssignmentInstanceFilter": {
+      "description": "Message to represent the filters to select VMs for an assignment",
+      "id": "OSPolicyAssignmentInstanceFilter",
+      "properties": {
+        "all": {
+          "description": "Target all VMs in the project. If true, no other criteria is permitted.",
+          "type": "boolean"
+        },
+        "exclusionLabels": {
+          "description": "List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM. This filter is applied last in the filtering chain and therefore a VM is guaranteed to be excluded if it satisfies one of the below label sets.",
+          "items": {
+            "$ref": "OSPolicyAssignmentLabelSet"
+          },
+          "type": "array"
+        },
+        "inclusionLabels": {
+          "description": "List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.",
+          "items": {
+            "$ref": "OSPolicyAssignmentLabelSet"
+          },
+          "type": "array"
+        },
+        "osShortNames": {
+          "description": "A VM is included if it's OS short name matches with any of the values provided in this list.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyAssignmentLabelSet": {
+      "description": "Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.",
+      "id": "OSPolicyAssignmentLabelSet",
+      "properties": {
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.",
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyAssignmentOperationMetadata": {
+      "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.",
+      "id": "OSPolicyAssignmentOperationMetadata",
+      "properties": {
+        "apiMethod": {
+          "description": "The OS policy assignment API method.",
+          "enum": [
+            "API_METHOD_UNSPECIFIED",
+            "CREATE",
+            "UPDATE",
+            "DELETE"
+          ],
+          "enumDescriptions": [
+            "Invalid value",
+            "Create OS policy assignment API method",
+            "Update OS policy assignment API method",
+            "Delete OS policy assignment API method"
+          ],
+          "type": "string"
+        },
+        "osPolicyAssignment": {
+          "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`",
+          "type": "string"
+        },
+        "rolloutStartTime": {
+          "description": "Rollout start time",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "rolloutState": {
+          "description": "State of the rollout",
+          "enum": [
+            "ROLLOUT_STATE_UNSPECIFIED",
+            "IN_PROGRESS",
+            "CANCELLING",
+            "CANCELLED",
+            "SUCCEEDED"
+          ],
+          "enumDescriptions": [
+            "Invalid value",
+            "The rollout is in progress.",
+            "The rollout is being cancelled.",
+            "The rollout is cancelled.",
+            "The rollout has completed successfully."
+          ],
+          "type": "string"
+        },
+        "rolloutUpdateTime": {
+          "description": "Rollout update time",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyAssignmentRollout": {
+      "description": "Message to configure the rollout at the zonal level for the OS policy assignment.",
+      "id": "OSPolicyAssignmentRollout",
+      "properties": {
+        "disruptionBudget": {
+          "$ref": "FixedOrPercent",
+          "description": "Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment."
+        },
+        "minWaitDuration": {
+          "description": "Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.",
+          "format": "google-duration",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyOSFilter": {
+      "description": "The `OSFilter` is used to specify the OS filtering criteria for the resource group.",
+      "id": "OSPolicyOSFilter",
+      "properties": {
+        "osShortName": {
+          "description": "This should match OS short name emitted by the OS inventory agent. An empty value matches any OS.",
+          "type": "string"
+        },
+        "osVersion": {
+          "description": "This value should match the version emitted by the OS inventory agent. Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResource": {
+      "description": "An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.",
+      "id": "OSPolicyResource",
+      "properties": {
+        "exec": {
+          "$ref": "OSPolicyResourceExecResource",
+          "description": "Exec resource"
+        },
+        "file": {
+          "$ref": "OSPolicyResourceFileResource",
+          "description": "File resource"
+        },
+        "id": {
+          "description": "Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.",
+          "type": "string"
+        },
+        "pkg": {
+          "$ref": "OSPolicyResourcePackageResource",
+          "description": "Package resource"
+        },
+        "repository": {
+          "$ref": "OSPolicyResourceRepositoryResource",
+          "description": "Package repository resource"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceCompliance": {
+      "description": "Compliance data for an OS policy resource.",
+      "id": "OSPolicyResourceCompliance",
+      "properties": {
+        "configSteps": {
+          "description": "Ordered list of configuration steps taken by the agent for the OS policy resource.",
+          "items": {
+            "$ref": "OSPolicyResourceConfigStep"
+          },
+          "type": "array"
+        },
+        "osPolicyResourceId": {
+          "description": "The id of the OS policy resource.",
+          "type": "string"
+        },
+        "state": {
+          "description": "Compliance state of the OS policy resource.",
+          "enum": [
+            "OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED",
+            "COMPLIANT",
+            "NON_COMPLIANT",
+            "UNKNOWN",
+            "NO_OS_POLICIES_APPLICABLE"
+          ],
+          "enumDescriptions": [
+            "Default value. This value is unused.",
+            "Compliant state.",
+            "Non-compliant state",
+            "Unknown compliance state.",
+            "No applicable OS policies were found for the instance. This state is only applicable to the instance."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceConfigStep": {
+      "description": "Step performed by the OS Config agent for configuring an `OSPolicyResource` to its desired state.",
+      "id": "OSPolicyResourceConfigStep",
+      "properties": {
+        "outcome": {
+          "description": "Outcome of the configuration step.",
+          "enum": [
+            "OUTCOME_UNSPECIFIED",
+            "SUCCEEDED",
+            "FAILED"
+          ],
+          "enumDescriptions": [
+            "Default value. This value is unused.",
+            "The step succeeded.",
+            "The step failed."
+          ],
+          "type": "string"
+        },
+        "type": {
+          "description": "Configuration step type.",
+          "enum": [
+            "TYPE_UNSPECIFIED",
+            "VALIDATION",
+            "DESIRED_STATE_CHECK",
+            "DESIRED_STATE_ENFORCEMENT",
+            "DESIRED_STATE_CHECK_POST_ENFORCEMENT"
+          ],
+          "enumDescriptions": [
+            "Default value. This value is unused.",
+            "Validation to detect resource conflicts, schema errors, etc.",
+            "Check the current desired state status of the resource.",
+            "Enforce the desired state for a resource that is not in desired state.",
+            "Re-check desired state status for a resource after enforcement of all resources in the current configuration run. This step is used to determine the final desired state status for the resource. It accounts for any resources that might have drifted from their desired state due to side effects from configuring other resources during the current configuration run."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceExecResource": {
+      "description": "A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen.",
+      "id": "OSPolicyResourceExecResource",
+      "properties": {
+        "enforce": {
+          "$ref": "OSPolicyResourceExecResourceExec",
+          "description": "What to run to bring this resource into the desired state. An exit code of 100 indicates \"success\", any other exit code indicates a failure running enforce."
+        },
+        "validate": {
+          "$ref": "OSPolicyResourceExecResourceExec",
+          "description": "Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates \"in desired state\", and exit code of 101 indicates \"not in desired state\". Any other exit code indicates a failure running validate."
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceExecResourceExec": {
+      "description": "A file or script to execute.",
+      "id": "OSPolicyResourceExecResourceExec",
+      "properties": {
+        "args": {
+          "description": "Optional arguments to pass to the source during execution.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "file": {
+          "$ref": "OSPolicyResourceFile",
+          "description": "A remote or local file."
+        },
+        "interpreter": {
+          "description": "Required. The script interpreter to use.",
+          "enum": [
+            "INTERPRETER_UNSPECIFIED",
+            "NONE",
+            "SHELL",
+            "POWERSHELL"
+          ],
+          "enumDescriptions": [
+            "Defaults to NONE.",
+            "If no interpreter is specified the source will be executed directly, which will likely only succeed for executables and scripts with shebang lines. [Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).",
+            "Indicates that the script will be run with /bin/sh on Linux and cmd.exe on windows.",
+            "Indicates that the script will be run with powershell."
+          ],
+          "type": "string"
+        },
+        "script": {
+          "description": "An inline script. The size of the script is limited to 1024 characters.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceFile": {
+      "description": "A remote or local file.",
+      "id": "OSPolicyResourceFile",
+      "properties": {
+        "allowInsecure": {
+          "description": "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.",
+          "type": "boolean"
+        },
+        "gcs": {
+          "$ref": "OSPolicyResourceFileGcs",
+          "description": "A Cloud Storage object."
+        },
+        "localPath": {
+          "description": "A local path within the VM to use.",
+          "type": "string"
+        },
+        "remote": {
+          "$ref": "OSPolicyResourceFileRemote",
+          "description": "A generic remote file."
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceFileGcs": {
+      "description": "Specifies a file available as a Cloud Storage Object.",
+      "id": "OSPolicyResourceFileGcs",
+      "properties": {
+        "bucket": {
+          "description": "Required. Bucket of the Cloud Storage object.",
+          "type": "string"
+        },
+        "generation": {
+          "description": "Generation number of the Cloud Storage object.",
+          "format": "int64",
+          "type": "string"
+        },
+        "object": {
+          "description": "Required. Name of the Cloud Storage object.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceFileRemote": {
+      "description": "Specifies a file available via some URI.",
+      "id": "OSPolicyResourceFileRemote",
+      "properties": {
+        "sha256Checksum": {
+          "description": "SHA256 checksum of the remote file.",
+          "type": "string"
+        },
+        "uri": {
+          "description": "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceFileResource": {
+      "description": "A resource that manages the state of a file.",
+      "id": "OSPolicyResourceFileResource",
+      "properties": {
+        "content": {
+          "description": "A a file with this content. The size of the content is limited to 1024 characters.",
+          "type": "string"
+        },
+        "file": {
+          "$ref": "OSPolicyResourceFile",
+          "description": "A remote or local source."
+        },
+        "path": {
+          "description": "Required. The absolute path of the file within the VM.",
+          "type": "string"
+        },
+        "permissions": {
+          "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4",
+          "type": "string"
+        },
+        "state": {
+          "description": "Required. Desired state of the file.",
+          "enum": [
+            "DESIRED_STATE_UNSPECIFIED",
+            "PRESENT",
+            "ABSENT",
+            "CONTENTS_MATCH"
+          ],
+          "enumDescriptions": [
+            "Unspecified is invalid.",
+            "Ensure file at path is present.",
+            "Ensure file at path is absent.",
+            "Ensure the contents of the file at path matches. If the file does not exist it will be created."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceGroup": {
+      "description": "Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.",
+      "id": "OSPolicyResourceGroup",
+      "properties": {
+        "osFilter": {
+          "$ref": "OSPolicyOSFilter",
+          "description": "Used to specify the OS filter for a resource group"
+        },
+        "resources": {
+          "description": "Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.",
+          "items": {
+            "$ref": "OSPolicyResource"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourcePackageResource": {
+      "description": "A resource that manages a system package.",
+      "id": "OSPolicyResourcePackageResource",
+      "properties": {
+        "apt": {
+          "$ref": "OSPolicyResourcePackageResourceAPT",
+          "description": "A package managed by Apt."
+        },
+        "deb": {
+          "$ref": "OSPolicyResourcePackageResourceDeb",
+          "description": "A deb package file."
+        },
+        "desiredState": {
+          "description": "Required. The desired state the agent should maintain for this package.",
+          "enum": [
+            "DESIRED_STATE_UNSPECIFIED",
+            "INSTALLED",
+            "REMOVED"
+          ],
+          "enumDescriptions": [
+            "Unspecified is invalid.",
+            "Ensure that the package is installed.",
+            "The agent ensures that the package is not installed and uninstalls it if detected."
+          ],
+          "type": "string"
+        },
+        "googet": {
+          "$ref": "OSPolicyResourcePackageResourceGooGet",
+          "description": "A package managed by GooGet."
+        },
+        "msi": {
+          "$ref": "OSPolicyResourcePackageResourceMSI",
+          "description": "An MSI package."
+        },
+        "rpm": {
+          "$ref": "OSPolicyResourcePackageResourceRPM",
+          "description": "An rpm package file."
+        },
+        "yum": {
+          "$ref": "OSPolicyResourcePackageResourceYUM",
+          "description": "A package managed by YUM."
+        },
+        "zypper": {
+          "$ref": "OSPolicyResourcePackageResourceZypper",
+          "description": "A package managed by Zypper."
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourcePackageResourceAPT": {
+      "description": "A package managed by APT. install: `apt-get update && apt-get -y install [name]` remove: `apt-get -y remove [name]`",
+      "id": "OSPolicyResourcePackageResourceAPT",
+      "properties": {
+        "name": {
+          "description": "Required. Package name.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourcePackageResourceDeb": {
+      "description": "A deb package file. dpkg packages only support INSTALLED state.",
+      "id": "OSPolicyResourcePackageResourceDeb",
+      "properties": {
+        "pullDeps": {
+          "description": "Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update && apt-get -y install package.deb`",
+          "type": "boolean"
+        },
+        "source": {
+          "$ref": "OSPolicyResourceFile",
+          "description": "Required. A deb package."
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourcePackageResourceGooGet": {
+      "description": "A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package`",
+      "id": "OSPolicyResourcePackageResourceGooGet",
+      "properties": {
+        "name": {
+          "description": "Required. Package name.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourcePackageResourceMSI": {
+      "description": "An MSI package. MSI packages only support INSTALLED state.",
+      "id": "OSPolicyResourcePackageResourceMSI",
+      "properties": {
+        "properties": {
+          "description": "Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of \"ACTION=INSTALL REBOOT=ReallySuppress\".",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "source": {
+          "$ref": "OSPolicyResourceFile",
+          "description": "Required. The MSI package."
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourcePackageResourceRPM": {
+      "description": "An RPM package file. RPM packages only support INSTALLED state.",
+      "id": "OSPolicyResourcePackageResourceRPM",
+      "properties": {
+        "pullDeps": {
+          "description": "Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`",
+          "type": "boolean"
+        },
+        "source": {
+          "$ref": "OSPolicyResourceFile",
+          "description": "Required. An rpm package."
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourcePackageResourceYUM": {
+      "description": "A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package`",
+      "id": "OSPolicyResourcePackageResourceYUM",
+      "properties": {
+        "name": {
+          "description": "Required. Package name.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourcePackageResourceZypper": {
+      "description": "A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package`",
+      "id": "OSPolicyResourcePackageResourceZypper",
+      "properties": {
+        "name": {
+          "description": "Required. Package name.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceRepositoryResource": {
+      "description": "A resource that manages a package repository.",
+      "id": "OSPolicyResourceRepositoryResource",
+      "properties": {
+        "apt": {
+          "$ref": "OSPolicyResourceRepositoryResourceAptRepository",
+          "description": "An Apt Repository."
+        },
+        "goo": {
+          "$ref": "OSPolicyResourceRepositoryResourceGooRepository",
+          "description": "A Goo Repository."
+        },
+        "yum": {
+          "$ref": "OSPolicyResourceRepositoryResourceYumRepository",
+          "description": "A Yum Repository."
+        },
+        "zypper": {
+          "$ref": "OSPolicyResourceRepositoryResourceZypperRepository",
+          "description": "A Zypper Repository."
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceRepositoryResourceAptRepository": {
+      "description": "Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list.",
+      "id": "OSPolicyResourceRepositoryResourceAptRepository",
+      "properties": {
+        "archiveType": {
+          "description": "Required. Type of archive files in this repository.",
+          "enum": [
+            "ARCHIVE_TYPE_UNSPECIFIED",
+            "DEB",
+            "DEB_SRC"
+          ],
+          "enumDescriptions": [
+            "Unspecified is invalid.",
+            "Deb indicates that the archive contains binary files.",
+            "Deb-src indicates that the archive contains source files."
+          ],
+          "type": "string"
+        },
+        "components": {
+          "description": "Required. List of components for this repository. Must contain at least one item.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "distribution": {
+          "description": "Required. Distribution of this repository.",
+          "type": "string"
+        },
+        "gpgKey": {
+          "description": "URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.",
+          "type": "string"
+        },
+        "uri": {
+          "description": "Required. URI for this repository.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceRepositoryResourceGooRepository": {
+      "description": "Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`.",
+      "id": "OSPolicyResourceRepositoryResourceGooRepository",
+      "properties": {
+        "name": {
+          "description": "Required. The name of the repository.",
+          "type": "string"
+        },
+        "url": {
+          "description": "Required. The url of the repository.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceRepositoryResourceYumRepository": {
+      "description": "Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`.",
+      "id": "OSPolicyResourceRepositoryResourceYumRepository",
+      "properties": {
+        "baseUrl": {
+          "description": "Required. The location of the repository directory.",
+          "type": "string"
+        },
+        "displayName": {
+          "description": "The display name of the repository.",
+          "type": "string"
+        },
+        "gpgKeys": {
+          "description": "URIs of GPG keys.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "id": {
+          "description": "Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "OSPolicyResourceRepositoryResourceZypperRepository": {
+      "description": "Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`.",
+      "id": "OSPolicyResourceRepositoryResourceZypperRepository",
+      "properties": {
+        "baseUrl": {
+          "description": "Required. The location of the repository directory.",
+          "type": "string"
+        },
+        "displayName": {
+          "description": "The display name of the repository.",
+          "type": "string"
+        },
+        "gpgKeys": {
+          "description": "URIs of GPG keys.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "id": {
+          "description": "Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Operation": {
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
+      "id": "Operation",
+      "properties": {
+        "done": {
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
+          "type": "boolean"
+        },
+        "error": {
+          "$ref": "Status",
+          "description": "The error result of the operation in case of failure or cancellation."
+        },
+        "metadata": {
+          "additionalProperties": {
+            "description": "Properties of the object. Contains field @type with type URL.",
+            "type": "any"
+          },
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
+          "type": "object"
+        },
+        "name": {
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
+          "type": "string"
+        },
+        "response": {
+          "additionalProperties": {
+            "description": "Properties of the object. Contains field @type with type URL.",
+            "type": "any"
+          },
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "Status": {
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "id": "Status",
+      "properties": {
+        "code": {
+          "description": "The status code, which should be an enum value of google.rpc.Code.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "details": {
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
+          "items": {
+            "additionalProperties": {
+              "description": "Properties of the object. Contains field @type with type URL.",
+              "type": "any"
+            },
+            "type": "object"
+          },
+          "type": "array"
+        },
+        "message": {
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "VulnerabilityReport": {
+      "description": "This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](/compute/docs/instances/os-inventory-management#vulnerability-reports).",
+      "id": "VulnerabilityReport",
+      "properties": {
+        "name": {
+          "description": "Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`",
+          "readOnly": true,
+          "type": "string"
+        },
+        "updateTime": {
+          "description": "Output only. The timestamp for when the last vulnerability report was generated for the VM.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "vulnerabilities": {
+          "description": "Output only. List of vulnerabilities affecting the VM.",
+          "items": {
+            "$ref": "VulnerabilityReportVulnerability"
+          },
+          "readOnly": true,
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VulnerabilityReportVulnerability": {
+      "description": "A vulnerability affecting the VM instance.",
+      "id": "VulnerabilityReportVulnerability",
+      "properties": {
+        "availableInventoryItemIds": {
+          "description": "Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. If there is no available fix, the field is empty. The `inventory_item` value specifies the latest `SoftwarePackage` available to the VM that fixes the vulnerability.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "createTime": {
+          "description": "The timestamp for when the vulnerability was first detected.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "details": {
+          "$ref": "VulnerabilityReportVulnerabilityDetails",
+          "description": "Contains metadata as per the upstream feed of the operating system and NVD."
+        },
+        "installedInventoryItemIds": {
+          "description": "Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM. This field displays the inventory items affected by this vulnerability. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. For some distros, this field may be empty.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "updateTime": {
+          "description": "The timestamp for when the vulnerability was last modified.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "VulnerabilityReportVulnerabilityDetails": {
+      "description": "Contains metadata information for the vulnerability. This information is collected from the upstream feed of the operating system.",
+      "id": "VulnerabilityReportVulnerabilityDetails",
+      "properties": {
+        "cve": {
+          "description": "The CVE of the vulnerability. CVE cannot be empty and the combination of should be unique across vulnerabilities for a VM.",
+          "type": "string"
+        },
+        "cvssV2Score": {
+          "description": "The CVSS V2 score of this vulnerability. CVSS V2 score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.",
+          "format": "float",
+          "type": "number"
+        },
+        "cvssV3": {
+          "$ref": "CVSSv3",
+          "description": "The full description of the CVSSv3 for this vulnerability from NVD."
+        },
+        "description": {
+          "description": "The note or description describing the vulnerability from the distro.",
+          "type": "string"
+        },
+        "references": {
+          "description": "Corresponds to the references attached to the `VulnerabilityDetails`.",
+          "items": {
+            "$ref": "VulnerabilityReportVulnerabilityDetailsReference"
+          },
+          "type": "array"
+        },
+        "severity": {
+          "description": "Assigned severity/impact ranking from the distro.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "VulnerabilityReportVulnerabilityDetailsReference": {
+      "description": "A reference for this vulnerability.",
+      "id": "VulnerabilityReportVulnerabilityDetailsReference",
+      "properties": {
+        "url": {
+          "description": "The url of the reference.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    }
+  },
+  "servicePath": "",
+  "title": "OS Config API",
+  "version": "v1alpha",
+  "version_module": true
+}
\ No newline at end of file
diff --git a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
index c77f98d..5efb84f 100644
--- a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
+++ b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
@@ -193,7 +193,7 @@
       }
     }
   },
-  "revision": "20210520",
+  "revision": "20210524",
   "rootUrl": "https://pagespeedonline.googleapis.com/",
   "schemas": {
     "AuditRefs": {
diff --git a/googleapiclient/discovery_cache/documents/people.v1.json b/googleapiclient/discovery_cache/documents/people.v1.json
index 77b017d..5dd0d15 100644
--- a/googleapiclient/discovery_cache/documents/people.v1.json
+++ b/googleapiclient/discovery_cache/documents/people.v1.json
@@ -1154,7 +1154,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210524",
   "rootUrl": "https://people.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
index 2ca9991..a22a5e9 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210522",
   "rootUrl": "https://policytroubleshooter.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicytroubleshooterV1AccessTuple": {
diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
index 9566565..a115ad4 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210522",
   "rootUrl": "https://policytroubleshooter.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicytroubleshooterV1betaAccessTuple": {
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
index 0160eed..5ebde88 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
@@ -1140,7 +1140,7 @@
       }
     }
   },
-  "revision": "20210522",
+  "revision": "20210525",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "ActivatePretargetingConfigRequest": {
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
index 3e9463a..7b711d2 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
@@ -178,7 +178,7 @@
       }
     }
   },
-  "revision": "20210522",
+  "revision": "20210525",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "BiddingFunction": {
@@ -202,8 +202,8 @@
           ],
           "enumDescriptions": [
             "Default value that should not be used.",
-            "Bidding function that can be used by Authorized Buyers in the original TURTLEDOVE simulation. See The function takes in a Javascript object, `inputs`, that contains the following named fields: `openrtbContextualBidRequest` OR `googleContextualBidRequest`, `customContextualSignal`, `interestBasedBidData`, `interestGroupData`, `recentImpressionAges`, and returns the bid price CPM. Example: ``` /* Returns a bid price CPM. * * @param {Object} inputs an object with the * following named fields: * - openrtbContextualBidRequest * OR googleContextualBidRequest * - customContextualSignal * - interestBasedBidData * - interestGroupData * - recentImpressionAges */ function biddingFunction(inputs) { ... return inputs.interestBasedBidData.cpm * inputs.customContextualSignals.placementMultiplier; } ```",
-            "Buyer's interest group bidding function that can be used by Authorized Buyers in the FLEDGE simulation. See the FLEDGE explainer at https://github.com/WICG/turtledove/blob/main/FLEDGE.md#32-on-device-bidding. The function takes one argument, `inputs`, that contains an object with the following named fields of the form: ``` { \"interestGroup\" : [ { \"buyerCreativeId\": \"...\", # Ad creative ID \"adData\": { # any JSON of your choosing }, \"userBiddingSignals\": { . # any JSON of your choosing } } ], \"auctionSignals\": { \"url: # string, \"slotVisibility\": # enum value, \"slotDimensions\": [ { \"height\": # number value \"width\": # number value } ] }, \"perBuyerSignals\": { # Any JSON }, \"trustedBiddingSignals\": { # Any JSON }, \"browserSignals\": { \"recent_impression_ages_secs: [ # number ] } } ``` `interestGroup`: An object containing a list of `ad` objects, which contain the following named fields: - `buyerCreativeId`: The ad creative ID string. - `adData`: Any JSON value of the bidder's choosing to contain data associated with an ad provided in `BidResponse.ad.adslot.ad_data` for the Google Authorized Buyers protocol and `BidResponse.seatbid.bid.ext.ad_data` for the OpenRTB protocol. - `userBiddingSignals`: Any JSON value of the bidder's choosing containing interest group data that corresponds to user_bidding_signals (as in FLEDGE). This field will be populated from `BidResponse.interest_group_map.user_bidding_signals` for Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. `auctionSignals`: Contains data from the seller. It corresponds to the auction signals data described in the FLEDGE proposal. It is an object containing the following named fields: - `url`: The string URL of the page with parameters removed. - `slotVisibility`: Enum of one of the following potential values: - NO_DETECTION = 0 - ABOVE_THE_FOLD = 1 - BELOW_THE_FOLD = 2 - `slotDimensions`: A list of objects containing containing width and height pairs in `width` and `height` fields, respectively, from `BidRequest.adslot.width` and `BidRequest.adslot.height` for the Google Authorized Buyers protocol and `BidRequest.imp.banner.format.w` and `BidRequest.imp.banner.format.h` for the OpenRTB protocol. `perBuyerSignals`: The contextual signals from the bid response that are populated in `BidResponse.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the OpenRTB protocol. These signals can be of any JSON format of your choosing, however, the buyer's domain name must match between: - the interest group response in `BidResponse.interest_group_map.buyer_domain` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_map.buyer_domain` for the OpenRTB protocol. - the contextual response as a key to the map in `BidResponse.interest_group_bidding.interest_group_buyers` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_bidding.interest_group_buyers` for the OpenRTB protocol. In other words, there must be a match between the buyer domain of the contextual per_buyer_signals and the domain of an interest group. `trustedBiddingSignals`: The trusted bidding signals that corresponds to the trusted_bidding_signals in the FLEDGE proposal. It is provided in the interest group response as `BidResponse.interest_group_map.user_bidding_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. This field can be any JSON format of your choosing. `browserSignals`: An object of simulated browser-provider signals. It is an object with a single named field, `recent_impression_ages_secs`, that contains a list of estimated number value recent impression ages in seconds for a given interest group. The function returns the string creative ID of the selected ad, the bid price CPM, and (optionally) selected product IDs. In addition, the bidding function may populate an optional string debug token that may be useful for remote debugging of a bidding function performing unexpectedly. This debug string is available in `BidResponseFeedback` (https://developers.google.com/authorized-buyers/rtb/realtime-bidding-guide#bidresponsefeedback-object) and BidFeedback (https://developers.google.com/authorized-buyers/rtb/openrtb-guide#bidfeedback), for the Google protocol and openRTB protocol respectively. Example: ``` function biddingFunction(inputs) { ... return { \"buyerCreativeId\": \"ad_creative_id_1\", \"bidPriceCpm\": 0.3, \"productIds\": [\"product_id_1\", \"product_id_2\", \"product_id_3\"] \"debugString\": \"Bidding function executed successfully!\" } } ```"
+            "Bidding function that can be used by Authorized Buyers in the original TURTLEDOVE simulation. See documentation on the TURTLEDOVE simulation at https://developers.google.com/authorized-buyers/rtb/turtledove. The function takes in a Javascript object, `inputs`, that contains the following named fields: `openrtbContextualBidRequest` OR `googleContextualBidRequest`, `customContextualSignal`, `interestBasedBidData`, `interestGroupData`, and returns the bid price CPM. Example: ``` /* Returns a bid price CPM. * * @param {Object} inputs an object with the * following named fields: * - openrtbContextualBidRequest * OR googleContextualBidRequest * - customContextualSignal * - interestBasedBidData * - interestGroupData */ function biddingFunction(inputs) { ... return inputs.interestBasedBidData.cpm * inputs.customContextualSignals.placementMultiplier; } ```",
+            "Buyer's interest group bidding function that can be used by Authorized Buyers in the FLEDGE simulation. See the FLEDGE explainer at https://github.com/WICG/turtledove/blob/main/FLEDGE.md#32-on-device-bidding. The function takes one argument, `inputs`, that contains an object with the following named fields of the form: ``` { \"interestGroup\" : { \"ad\" : [ \"buyerCreativeId\": \"...\", # Ad creative ID \"adData\": { # JSON object } ], \"userBiddingSignals\": { . # JSON object } }, \"auctionSignals\": { \"url\": # string, \"slotVisibility\": # enum value, \"slotDimensions\": [ { \"height\": # number value \"width\": # number value } ] }, \"perBuyerSignals\": { # JSON object }, \"trustedBiddingSignals\": { # JSON object }, \"browserSignals\": { \"recent_impression_ages_secs\": [ # Array of integers. Not yet populated. ] } } ``` `interestGroup`: An object containing a list of `ad` objects, which contain the following named fields: - `buyerCreativeId`: The ad creative ID string. - `adData`: Any JSON value of the bidder's choosing to contain data associated with an ad provided in `BidResponse.ad.adslot.ad_data` for the Google Authorized Buyers protocol and `BidResponse.seatbid.bid.ext.ad_data` for the OpenRTB protocol. - `userBiddingSignals`: Any JSON value of the bidder's choosing containing interest group data that corresponds to user_bidding_signals (as in FLEDGE). This field will be populated from `BidResponse.interest_group_map.user_bidding_signals` for Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. `auctionSignals`: Contains data from the seller. It corresponds to the auction signals data described in the FLEDGE proposal. It is an object containing the following named fields: - `url`: The string URL of the page with parameters removed. - `slotVisibility`: Enum of one of the following potential values: - NO_DETECTION = 0 - ABOVE_THE_FOLD = 1 - BELOW_THE_FOLD = 2 - `slotDimensions`: A list of objects containing containing width and height pairs in `width` and `height` fields, respectively, from `BidRequest.adslot.width` and `BidRequest.adslot.height` for the Google Authorized Buyers protocol and `BidRequest.imp.banner.format.w` and `BidRequest.imp.banner.format.h` for the OpenRTB protocol. `perBuyerSignals`: The contextual signals from the bid response that are populated in `BidResponse.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the OpenRTB protocol. These signals can be of any JSON format of your choosing, however, the buyer's domain name must match between: - the interest group response in `BidResponse.interest_group_map.buyer_domain` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_map.buyer_domain` for the OpenRTB protocol. - the contextual response as a key to the map in `BidResponse.interest_group_bidding.interest_group_buyers` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_bidding.interest_group_buyers` for the OpenRTB protocol. In other words, there must be a match between the buyer domain of the contextual per_buyer_signals and the domain of an interest group. `trustedBiddingSignals`: The trusted bidding signals that corresponds to the trusted_bidding_signals in the FLEDGE proposal. It is provided in the interest group response as `BidResponse.interest_group_map.user_bidding_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. This field can be any JSON format of your choosing. `browserSignals`: An object of simulated browser-provider signals. It is an object with a single named field, `recent_impression_ages_secs`, that contains a list of estimated number value recent impression ages in seconds for a given interest group. `recent_impression_ages_secs` is not yet populated. The function returns the string creative ID of the selected ad, the bid price CPM, and (optionally) selected product IDs. In addition, the bidding function may populate an optional string debug token that may be useful for remote debugging of a bidding function performing unexpectedly. This debug string is available in `BidResponseFeedback` (https://developers.google.com/authorized-buyers/rtb/realtime-bidding-guide#bidresponsefeedback-object) and BidFeedback (https://developers.google.com/authorized-buyers/rtb/openrtb-guide#bidfeedback), for the Google protocol and openRTB protocol respectively. Example: ``` function biddingFunction(inputs) { ... return { \"buyerCreativeId\": \"ad_creative_id_1\", \"bidPriceCpm\": 0.3, \"productIds\": [\"product_id_1\", \"product_id_2\", \"product_id_3\"] \"debugString\": \"Bidding function executed successfully!\" } } ```"
           ],
           "type": "string"
         }
diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
index 5d23f2b..df766c4 100644
--- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
@@ -805,7 +805,7 @@
       }
     }
   },
-  "revision": "20210517",
+  "revision": "20210524",
   "rootUrl": "https://runtimeconfig.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
index 9299287..7fbed65 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
@@ -1816,7 +1816,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210520",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Asset": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
index aa58296..79a55cb 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
@@ -896,7 +896,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210520",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Asset": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
index a312f45..972aed0 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
@@ -1328,7 +1328,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210520",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Config": {
diff --git a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
index 4c676d9..1743093 100644
--- a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
@@ -829,7 +829,7 @@
       }
     }
   },
-  "revision": "20210518",
+  "revision": "20210521",
   "rootUrl": "https://servicemanagement.googleapis.com/",
   "schemas": {
     "Advice": {
@@ -1074,11 +1074,6 @@
           "description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend.",
           "type": "string"
         },
-        "minDeadline": {
-          "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.",
-          "format": "double",
-          "type": "number"
-        },
         "operationDeadline": {
           "description": "The number of seconds to wait for the completion of a long running operation. The default is no deadline.",
           "format": "double",
diff --git a/googleapiclient/discovery_cache/documents/sheets.v4.json b/googleapiclient/discovery_cache/documents/sheets.v4.json
index e7152e2..510746d 100644
--- a/googleapiclient/discovery_cache/documents/sheets.v4.json
+++ b/googleapiclient/discovery_cache/documents/sheets.v4.json
@@ -870,7 +870,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "rootUrl": "https://sheets.googleapis.com/",
   "schemas": {
     "AddBandingRequest": {
diff --git a/googleapiclient/discovery_cache/documents/slides.v1.json b/googleapiclient/discovery_cache/documents/slides.v1.json
index f8859e1..e32e787 100644
--- a/googleapiclient/discovery_cache/documents/slides.v1.json
+++ b/googleapiclient/discovery_cache/documents/slides.v1.json
@@ -313,7 +313,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "rootUrl": "https://slides.googleapis.com/",
   "schemas": {
     "AffineTransform": {
diff --git a/googleapiclient/discovery_cache/documents/spanner.v1.json b/googleapiclient/discovery_cache/documents/spanner.v1.json
index 28e5127..87dc71e 100644
--- a/googleapiclient/discovery_cache/documents/spanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/spanner.v1.json
@@ -1067,6 +1067,59 @@
                     "https://www.googleapis.com/auth/spanner.admin"
                   ]
                 },
+                "getScans": {
+                  "description": "Request a specific scan with Database-specific data for Cloud Key Visualizer.",
+                  "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/scans",
+                  "httpMethod": "GET",
+                  "id": "spanner.projects.instances.databases.getScans",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "endTime": {
+                      "description": "The upper bound for the time range to retrieve Scan data for.",
+                      "format": "google-datetime",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "name": {
+                      "description": "Required. The unique name of the scan containing the requested information, specific to the Database service implementing this interface.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "startTime": {
+                      "description": "These fields restrict the Database-specific information returned in the `Scan.data` field. If a `View` is provided that does not include the `Scan.data` field, these are ignored. This range of time must be entirely contained within the defined time range of the targeted scan. The lower bound for the time range to retrieve Scan data for.",
+                      "format": "google-datetime",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "view": {
+                      "description": "Specifies which parts of the Scan should be returned in the response. Note, if left unspecified, the FULL view is assumed.",
+                      "enum": [
+                        "VIEW_UNSPECIFIED",
+                        "SUMMARY",
+                        "FULL"
+                      ],
+                      "enumDescriptions": [
+                        "Not specified, equivalent to SUMMARY.",
+                        "Server responses only include `name`, `details`, `start_time` and `end_time`. The default value. Note, the ListScans method may only use this view type, others view types are not supported.",
+                        "Full representation of the scan is returned in the server response, including `data`."
+                      ],
+                      "location": "query",
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}/scans",
+                  "response": {
+                    "$ref": "Scan"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform",
+                    "https://www.googleapis.com/auth/spanner.data"
+                  ]
+                },
                 "list": {
                   "description": "Lists Cloud Spanner databases.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases",
@@ -1921,9 +1974,70 @@
           }
         }
       }
+    },
+    "scans": {
+      "methods": {
+        "list": {
+          "description": "Return available scans given a Database-specific resource name.",
+          "flatPath": "v1/scans",
+          "httpMethod": "GET",
+          "id": "spanner.scans.list",
+          "parameterOrder": [
+            "parent"
+          ],
+          "parameters": {
+            "filter": {
+              "description": "A filter expression to restrict the results based on information present in the available Scan collection. The filter applies to all fields within the Scan message except for `data`.",
+              "location": "query",
+              "type": "string"
+            },
+            "pageSize": {
+              "description": "The maximum number of items to return.",
+              "format": "int32",
+              "location": "query",
+              "type": "integer"
+            },
+            "pageToken": {
+              "description": "The next_page_token value returned from a previous List request, if any.",
+              "location": "query",
+              "type": "string"
+            },
+            "parent": {
+              "description": "Required. The unique name of the parent resource, specific to the Database service implementing this interface.",
+              "location": "path",
+              "pattern": "^scans$",
+              "required": true,
+              "type": "string"
+            },
+            "view": {
+              "description": "Specifies which parts of the Scan should be returned in the response. Note, only the SUMMARY view (the default) is currently supported for ListScans.",
+              "enum": [
+                "VIEW_UNSPECIFIED",
+                "SUMMARY",
+                "FULL"
+              ],
+              "enumDescriptions": [
+                "Not specified, equivalent to SUMMARY.",
+                "Server responses only include `name`, `details`, `start_time` and `end_time`. The default value. Note, the ListScans method may only use this view type, others view types are not supported.",
+                "Full representation of the scan is returned in the server response, including `data`."
+              ],
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "v1/{+parent}",
+          "response": {
+            "$ref": "ListScansResponse"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/spanner.data"
+          ]
+        }
+      }
     }
   },
-  "revision": "20210428",
+  "revision": "20210517",
   "rootUrl": "https://spanner.googleapis.com/",
   "schemas": {
     "Backup": {
@@ -2162,6 +2276,44 @@
       },
       "type": "object"
     },
+    "ContextValue": {
+      "description": "A message representing context for a KeyRangeInfo, including a label, value, unit, and severity.",
+      "id": "ContextValue",
+      "properties": {
+        "label": {
+          "$ref": "LocalizedString",
+          "description": "The label for the context value. e.g. \"latency\"."
+        },
+        "severity": {
+          "description": "The severity of this context.",
+          "enum": [
+            "SEVERITY_UNSPECIFIED",
+            "INFO",
+            "WARNING",
+            "ERROR",
+            "FATAL"
+          ],
+          "enumDescriptions": [
+            "Required default value.",
+            "Lowest severity level \"Info\".",
+            "Middle severity level \"Warning\".",
+            "Severity level signaling an error \"Error\"",
+            "Severity level signaling a non recoverable error \"Fatal\""
+          ],
+          "type": "string"
+        },
+        "unit": {
+          "description": "The unit of the context value.",
+          "type": "string"
+        },
+        "value": {
+          "description": "The value for the context.",
+          "format": "float",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
     "CreateBackupMetadata": {
       "description": "Metadata type for the operation returned by CreateBackup.",
       "id": "CreateBackupMetadata",
@@ -2349,6 +2501,62 @@
       },
       "type": "object"
     },
+    "DerivedMetric": {
+      "description": "A message representing a derived metric.",
+      "id": "DerivedMetric",
+      "properties": {
+        "denominator": {
+          "$ref": "LocalizedString",
+          "description": "The name of the denominator metric. e.g. \"rows\"."
+        },
+        "numerator": {
+          "$ref": "LocalizedString",
+          "description": "The name of the numerator metric. e.g. \"latency\"."
+        }
+      },
+      "type": "object"
+    },
+    "DiagnosticMessage": {
+      "description": "A message representing the key visualizer diagnostic messages.",
+      "id": "DiagnosticMessage",
+      "properties": {
+        "info": {
+          "$ref": "LocalizedString",
+          "description": "Information about this diagnostic information."
+        },
+        "metric": {
+          "$ref": "LocalizedString",
+          "description": "The metric."
+        },
+        "metricSpecific": {
+          "description": "Whether this message is specific only for the current metric. By default Diagnostics are shown for all metrics, regardless which metric is the currently selected metric in the UI. However occasionally a metric will generate so many messages that the resulting visual clutter becomes overwhelming. In this case setting this to true, will show the diagnostic messages for that metric only if it is the currently selected metric.",
+          "type": "boolean"
+        },
+        "severity": {
+          "description": "The severity of the diagnostic message.",
+          "enum": [
+            "SEVERITY_UNSPECIFIED",
+            "INFO",
+            "WARNING",
+            "ERROR",
+            "FATAL"
+          ],
+          "enumDescriptions": [
+            "Required default value.",
+            "Lowest severity level \"Info\".",
+            "Middle severity level \"Warning\".",
+            "Severity level signaling an error \"Error\"",
+            "Severity level signaling a non recoverable error \"Fatal\""
+          ],
+          "type": "string"
+        },
+        "shortMessage": {
+          "$ref": "LocalizedString",
+          "description": "The short message."
+        }
+      },
+      "type": "object"
+    },
     "Empty": {
       "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
@@ -2585,6 +2793,35 @@
       },
       "type": "object"
     },
+    "IndexedHotKey": {
+      "description": "A message representing a (sparse) collection of hot keys for specific key buckets.",
+      "id": "IndexedHotKey",
+      "properties": {
+        "sparseHotKeys": {
+          "additionalProperties": {
+            "format": "int32",
+            "type": "integer"
+          },
+          "description": "A (sparse) mapping from key bucket index to the index of the specific hot row key for that key bucket. The index of the hot row key can be translated to the actual row key via the ScanData.VisualizationData.indexed_keys repeated field.",
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "IndexedKeyRangeInfos": {
+      "description": "A message representing a (sparse) collection of KeyRangeInfos for specific key buckets.",
+      "id": "IndexedKeyRangeInfos",
+      "properties": {
+        "keyRangeInfos": {
+          "additionalProperties": {
+            "$ref": "KeyRangeInfos"
+          },
+          "description": "A (sparse) mapping from key bucket index to the KeyRangeInfos for that key bucket.",
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
     "Instance": {
       "description": "An isolated set of Cloud Spanner resources on which databases can be hosted.",
       "id": "Instance",
@@ -2695,6 +2932,71 @@
       },
       "type": "object"
     },
+    "KeyRangeInfo": {
+      "description": "A message representing information for a key range (possibly one key).",
+      "id": "KeyRangeInfo",
+      "properties": {
+        "contextValues": {
+          "description": "The list of context values for this key range.",
+          "items": {
+            "$ref": "ContextValue"
+          },
+          "type": "array"
+        },
+        "endKeyIndex": {
+          "description": "The index of the end key in indexed_keys.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "info": {
+          "$ref": "LocalizedString",
+          "description": "Information about this key range, for all metrics."
+        },
+        "keysCount": {
+          "description": "The number of keys this range covers.",
+          "format": "int64",
+          "type": "string"
+        },
+        "metric": {
+          "$ref": "LocalizedString",
+          "description": "The name of the metric. e.g. \"latency\"."
+        },
+        "startKeyIndex": {
+          "description": "The index of the start key in indexed_keys.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "unit": {
+          "$ref": "LocalizedString",
+          "description": "The unit of the metric. This is an unstructured field and will be mapped as is to the user."
+        },
+        "value": {
+          "description": "The value of the metric.",
+          "format": "float",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
+    "KeyRangeInfos": {
+      "description": "A message representing a list of specific information for multiple key ranges.",
+      "id": "KeyRangeInfos",
+      "properties": {
+        "infos": {
+          "description": "The list individual KeyRangeInfos.",
+          "items": {
+            "$ref": "KeyRangeInfo"
+          },
+          "type": "array"
+        },
+        "totalSize": {
+          "description": "The total size of the list of all KeyRangeInfos. This may be larger than the number of repeated messages above. If that is the case, this number may be used to determine how many are not being shown.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
     "KeySet": {
       "description": "`KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All the keys are expected to be in the same table or index. The keys need not be sorted in any particular way. If the same key is specified multiple times in the set (for example if two ranges, two keys, or a key and a range overlap), Cloud Spanner behaves as if the key were only specified once.",
       "id": "KeySet",
@@ -2856,6 +3158,24 @@
       },
       "type": "object"
     },
+    "ListScansResponse": {
+      "description": "Response method from the ListScans method.",
+      "id": "ListScansResponse",
+      "properties": {
+        "nextPageToken": {
+          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
+          "type": "string"
+        },
+        "scans": {
+          "description": "Available scans based on the list query parameters.",
+          "items": {
+            "$ref": "Scan"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "ListSessionsResponse": {
       "description": "The response for ListSessions.",
       "id": "ListSessionsResponse",
@@ -2874,6 +3194,129 @@
       },
       "type": "object"
     },
+    "LocalizedString": {
+      "description": "A message representing a user-facing string whose value may need to be translated before being displayed.",
+      "id": "LocalizedString",
+      "properties": {
+        "args": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.",
+          "type": "object"
+        },
+        "message": {
+          "description": "The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.",
+          "type": "string"
+        },
+        "token": {
+          "description": "The token identifying the message, e.g. 'METRIC_READ_CPU'. This should be unique within the service.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Metric": {
+      "description": "A message representing the actual monitoring data, values for each key bucket over time, of a metric.",
+      "id": "Metric",
+      "properties": {
+        "aggregation": {
+          "description": "The aggregation function used to aggregate each key bucket",
+          "enum": [
+            "AGGREGATION_UNSPECIFIED",
+            "MAX",
+            "SUM"
+          ],
+          "enumDescriptions": [
+            "Required default value.",
+            "Use the maximum of all values.",
+            "Use the sum of all values."
+          ],
+          "type": "string"
+        },
+        "category": {
+          "$ref": "LocalizedString",
+          "description": "The category of the metric, e.g. \"Activity\", \"Alerts\", \"Reads\", etc."
+        },
+        "derived": {
+          "$ref": "DerivedMetric",
+          "description": "The references to numerator and denominator metrics for a derived metric."
+        },
+        "displayLabel": {
+          "$ref": "LocalizedString",
+          "description": "The displayed label of the metric."
+        },
+        "hasNonzeroData": {
+          "description": "Whether the metric has any non-zero data.",
+          "type": "boolean"
+        },
+        "hotValue": {
+          "description": "The value that is considered hot for the metric. On a per metric basis hotness signals high utilization and something that might potentially be a cause for concern by the end user. hot_value is used to calibrate and scale visual color scales.",
+          "format": "float",
+          "type": "number"
+        },
+        "indexedHotKeys": {
+          "additionalProperties": {
+            "$ref": "IndexedHotKey"
+          },
+          "description": "The (sparse) mapping from time index to an IndexedHotKey message, representing those time intervals for which there are hot keys.",
+          "type": "object"
+        },
+        "indexedKeyRangeInfos": {
+          "additionalProperties": {
+            "$ref": "IndexedKeyRangeInfos"
+          },
+          "description": "The (sparse) mapping from time interval index to an IndexedKeyRangeInfos message, representing those time intervals for which there are informational messages concerning key ranges.",
+          "type": "object"
+        },
+        "info": {
+          "$ref": "LocalizedString",
+          "description": "Information about the metric."
+        },
+        "matrix": {
+          "$ref": "MetricMatrix",
+          "description": "The data for the metric as a matrix."
+        },
+        "unit": {
+          "$ref": "LocalizedString",
+          "description": "The unit of the metric."
+        },
+        "visible": {
+          "description": "Whether the metric is visible to the end user.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "MetricMatrix": {
+      "description": "A message representing a matrix of floats.",
+      "id": "MetricMatrix",
+      "properties": {
+        "rows": {
+          "description": "The rows of the matrix.",
+          "items": {
+            "$ref": "MetricMatrixRow"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "MetricMatrixRow": {
+      "description": "A message representing a row of a matrix of floats.",
+      "id": "MetricMatrixRow",
+      "properties": {
+        "cols": {
+          "description": "The columns of the row.",
+          "items": {
+            "format": "float",
+            "type": "number"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "Mutation": {
       "description": "A modification to one or more Cloud Spanner rows. Mutations can be applied to a Cloud Spanner database by sending them in a Commit call.",
       "id": "Mutation",
@@ -3206,6 +3649,36 @@
       },
       "type": "object"
     },
+    "PrefixNode": {
+      "description": "A message representing a key prefix node in the key prefix hierarchy. for eg. Bigtable keyspaces are lexicographically ordered mappings of keys to values. Keys often have a shared prefix structure where users use the keys to organize data. Eg ///employee In this case Keysight will possibly use one node for a company and reuse it for all employees that fall under the company. Doing so improves legibility in the UI.",
+      "id": "PrefixNode",
+      "properties": {
+        "dataSourceNode": {
+          "description": "Whether this corresponds to a data_source name.",
+          "type": "boolean"
+        },
+        "depth": {
+          "description": "The depth in the prefix hierarchy.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "endIndex": {
+          "description": "The index of the end key bucket of the range that this node spans.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "startIndex": {
+          "description": "The index of the start key bucket of the range that this node spans.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "word": {
+          "description": "The string represented by the prefix node.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "QueryOptions": {
       "description": "Query optimizer configuration.",
       "id": "QueryOptions",
@@ -3576,6 +4049,61 @@
       },
       "type": "object"
     },
+    "Scan": {
+      "description": "Scan is a structure which describes Cloud Key Visualizer scan information.",
+      "id": "Scan",
+      "properties": {
+        "details": {
+          "additionalProperties": {
+            "description": "Properties of the object. Contains field @type with type URL.",
+            "type": "any"
+          },
+          "description": "Additional information provided by the implementer.",
+          "type": "object"
+        },
+        "endTime": {
+          "description": "The upper bound for when the scan is defined.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "name": {
+          "description": "The unique name of the scan, specific to the Database service implementing this interface.",
+          "type": "string"
+        },
+        "scanData": {
+          "$ref": "ScanData",
+          "description": "Output only. Cloud Key Visualizer scan data. Note, this field is not available to the ListScans method.",
+          "readOnly": true
+        },
+        "startTime": {
+          "description": "A range of time (inclusive) for when the scan is defined. The lower bound for when the scan is defined.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "ScanData": {
+      "description": "ScanData contains Cloud Key Visualizer scan data used by the caller to construct a visualization.",
+      "id": "ScanData",
+      "properties": {
+        "data": {
+          "$ref": "VisualizationData",
+          "description": "Cloud Key Visualizer scan data. The range of time this information covers is captured via the above time range fields. Note, this field is not available to the ListScans method."
+        },
+        "endTime": {
+          "description": "The upper bound for when the contained data is defined.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "startTime": {
+          "description": "A range of time (inclusive) for when the contained data is defined. The lower bound for when the contained data is defined.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Session": {
       "description": "A session in the Cloud Spanner API.",
       "id": "Session",
@@ -3931,6 +4459,77 @@
       },
       "type": "object"
     },
+    "VisualizationData": {
+      "id": "VisualizationData",
+      "properties": {
+        "dataSourceEndToken": {
+          "description": "The token signifying the end of a data_source.",
+          "type": "string"
+        },
+        "dataSourceSeparatorToken": {
+          "description": "The token delimiting a datasource name from the rest of a key in a data_source.",
+          "type": "string"
+        },
+        "diagnosticMessages": {
+          "description": "The list of messages (info, alerts, ...)",
+          "items": {
+            "$ref": "DiagnosticMessage"
+          },
+          "type": "array"
+        },
+        "endKeyStrings": {
+          "description": "We discretize the entire keyspace into buckets. Assuming each bucket has an inclusive keyrange and covers keys from k(i) ... k(n). In this case k(n) would be an end key for a given range. end_key_string is the collection of all such end keys",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "hasPii": {
+          "description": "Whether this scan contains PII.",
+          "type": "boolean"
+        },
+        "indexedKeys": {
+          "description": "Keys of key ranges that contribute significantly to a given metric Can be thought of as heavy hitters.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "keySeparator": {
+          "description": "The token delimiting the key prefixes.",
+          "type": "string"
+        },
+        "keyUnit": {
+          "description": "The unit for the key: e.g. 'key' or 'chunk'.",
+          "enum": [
+            "KEY_UNIT_UNSPECIFIED",
+            "KEY",
+            "CHUNK"
+          ],
+          "enumDescriptions": [
+            "Required default value",
+            "Each entry corresponds to one key",
+            "Each entry corresponds to a chunk of keys"
+          ],
+          "type": "string"
+        },
+        "metrics": {
+          "description": "The list of data objects for each metric.",
+          "items": {
+            "$ref": "Metric"
+          },
+          "type": "array"
+        },
+        "prefixNodes": {
+          "description": "The list of extracted key prefix nodes used in the key prefix hierarchy.",
+          "items": {
+            "$ref": "PrefixNode"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "Write": {
       "description": "Arguments to insert, update, insert_or_update, and replace operations.",
       "id": "Write",
diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v1.json b/googleapiclient/discovery_cache/documents/tagmanager.v1.json
index 45a4e60..66c576f 100644
--- a/googleapiclient/discovery_cache/documents/tagmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/tagmanager.v1.json
@@ -1932,7 +1932,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210522",
   "rootUrl": "https://tagmanager.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v2.json b/googleapiclient/discovery_cache/documents/tagmanager.v2.json
index 1b97eb2..905150a 100644
--- a/googleapiclient/discovery_cache/documents/tagmanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/tagmanager.v2.json
@@ -3125,7 +3125,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210522",
   "rootUrl": "https://tagmanager.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/testing.v1.json b/googleapiclient/discovery_cache/documents/testing.v1.json
index d078c68..513bdc7 100644
--- a/googleapiclient/discovery_cache/documents/testing.v1.json
+++ b/googleapiclient/discovery_cache/documents/testing.v1.json
@@ -282,7 +282,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210524",
   "rootUrl": "https://testing.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1.json
index 1f0da1f..3f59bd7 100644
--- a/googleapiclient/discovery_cache/documents/texttospeech.v1.json
+++ b/googleapiclient/discovery_cache/documents/texttospeech.v1.json
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210521",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
index bd6f6be..bc6101f 100644
--- a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210521",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
diff --git a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
index 1c897df..009d450 100644
--- a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
@@ -1463,7 +1463,7 @@
       }
     }
   },
-  "revision": "20210522",
+  "revision": "20210525",
   "rootUrl": "https://toolresults.googleapis.com/",
   "schemas": {
     "ANR": {
diff --git a/googleapiclient/discovery_cache/documents/trafficdirector.v2.json b/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
index 85a739e..cc6a4a0 100644
--- a/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
+++ b/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://trafficdirector.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/transcoder.v1beta1.json b/googleapiclient/discovery_cache/documents/transcoder.v1beta1.json
index d90516d..9133d0f 100644
--- a/googleapiclient/discovery_cache/documents/transcoder.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/transcoder.v1beta1.json
@@ -355,7 +355,7 @@
       }
     }
   },
-  "revision": "20210415",
+  "revision": "20210525",
   "rootUrl": "https://transcoder.googleapis.com/",
   "schemas": {
     "AdBreak": {
diff --git a/googleapiclient/discovery_cache/documents/vault.v1.json b/googleapiclient/discovery_cache/documents/vault.v1.json
index 0f557a0..bfa780c 100644
--- a/googleapiclient/discovery_cache/documents/vault.v1.json
+++ b/googleapiclient/discovery_cache/documents/vault.v1.json
@@ -1193,7 +1193,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210524",
   "rootUrl": "https://vault.googleapis.com/",
   "schemas": {
     "AccountCount": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
index b174219..ff780b1 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210522",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
index 4824dfb..32853ee 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210522",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
index 8f0675c..89e8f20 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210522",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/workflows.v1beta.json b/googleapiclient/discovery_cache/documents/workflows.v1beta.json
index c3b8ec0..d89d055 100644
--- a/googleapiclient/discovery_cache/documents/workflows.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/workflows.v1beta.json
@@ -444,7 +444,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210520",
   "rootUrl": "https://workflows.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
index 046a8ed..6202887 100644
--- a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
+++ b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
@@ -421,7 +421,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210524",
   "rootUrl": "https://youtubeanalytics.googleapis.com/",
   "schemas": {
     "EmptyResponse": {
diff --git a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
index 94c8bd3..1adc414 100644
--- a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
+++ b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
@@ -411,7 +411,7 @@
       }
     }
   },
-  "revision": "20210519",
+  "revision": "20210524",
   "rootUrl": "https://youtubereporting.googleapis.com/",
   "schemas": {
     "Empty": {
