chore: Update discovery artifacts (#1379)

## Deleted keys were detected in the following stable discovery artifacts:
servicemanagement v1 https://github.com/googleapis/google-api-python-client/commit/ac046117b12b43e03e748ebd0c442b340ed99183

## Discovery Artifact Change Summary:
feat(adexchangebuyer2): update the api https://github.com/googleapis/google-api-python-client/commit/e1ebe49bc9e2e007c61188202f0345c96083c19a
feat(displayvideo): update the api https://github.com/googleapis/google-api-python-client/commit/4f37d8b0d43f2172fdae627605947b3ba15b06c2
feat(gkehub): update the api https://github.com/googleapis/google-api-python-client/commit/e12ff0958ed9016356c8711039a15334d2f0d6f6
feat(servicemanagement): update the api https://github.com/googleapis/google-api-python-client/commit/ac046117b12b43e03e748ebd0c442b340ed99183
feat(spanner): update the api https://github.com/googleapis/google-api-python-client/commit/43f1be2ea175a79e463d77cf3155e7b8ab1b26f6
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