Api-Roll 53: 2017-08-21

R=vegorov@google.com

Review-Url: https://codereview.chromium.org//3003493002 .
diff --git a/generated/googleapis/lib/adexchangebuyer/v1_4.dart b/generated/googleapis/lib/adexchangebuyer/v1_4.dart
index 98ae473..ea5d125 100644
--- a/generated/googleapis/lib/adexchangebuyer/v1_4.dart
+++ b/generated/googleapis/lib/adexchangebuyer/v1_4.dart
@@ -6019,7 +6019,7 @@
 }
 
 class PublisherProfileApiProto {
-  /** The account id of the seller. */
+  /** Deprecated: use the seller.account_id. The account id of the seller. */
   core.String accountId;
   /** Publisher provided info on its audience. */
   core.String audience;
diff --git a/generated/googleapis/lib/adexperiencereport/v1.dart b/generated/googleapis/lib/adexperiencereport/v1.dart
index e3a0703..692c9d8 100644
--- a/generated/googleapis/lib/adexperiencereport/v1.dart
+++ b/generated/googleapis/lib/adexperiencereport/v1.dart
@@ -40,14 +40,18 @@
       _requester = client;
 
   /**
-   * Gets a summary of the ads rating of a site.
+   * Gets a summary of the ad experience rating of a site.
    *
    * Request parameters:
    *
-   * [name] - The required site name. It should be a site property registered in
-   * Search
-   * Console. The server will return an error of BAD_REQUEST if this field is
-   * not filled in.
+   * [name] - The required site name. It should be the site property whose ad
+   * experiences
+   * may have been reviewed, and it should be URL-encoded. For example,
+   * sites/https%3A%2F%2Fwww.google.com. The server will return an error of
+   * BAD_REQUEST if this field is not filled in. Note that if the site property
+   * is not yet verified in Search Console, the reportUrl field returned by the
+   * API will lead to the verification page, prompting the user to go through
+   * that process before they can gain access to the Ad Experience Report.
    * Value must have pattern "^sites/[^/]+$".
    *
    * Completes with a [SiteSummaryResponse].
@@ -129,9 +133,17 @@
 
 
 
-/** Summary of the ads rating of a site for a specific platform. */
+/** Summary of the ad experience rating of a site for a specific platform. */
 class PlatformSummary {
   /**
+   * The status of the site reviewed for abusive ads.
+   * Possible string values are:
+   * - "UNKNOWN" : Not reviewed.
+   * - "PASSING" : Passing.
+   * - "FAILING" : Failing.
+   */
+  core.String abusiveStatus;
+  /**
    * The status of the site reviewed for the Better Ads Standards.
    * Possible string values are:
    * - "UNKNOWN" : Not reviewed.
@@ -140,14 +152,6 @@
    * - "FAILING" : Failing.
    */
   core.String betterAdsStatus;
-  /**
-   * The status of the site reviewed for egregious ads.
-   * Possible string values are:
-   * - "UNKNOWN" : Not reviewed.
-   * - "PASSING" : Passing.
-   * - "FAILING" : Failing.
-   */
-  core.String egregiousStatus;
   /** The date on which ad filtering begins. */
   core.String enforcementTime;
   /**
@@ -172,12 +176,12 @@
   PlatformSummary();
 
   PlatformSummary.fromJson(core.Map _json) {
+    if (_json.containsKey("abusiveStatus")) {
+      abusiveStatus = _json["abusiveStatus"];
+    }
     if (_json.containsKey("betterAdsStatus")) {
       betterAdsStatus = _json["betterAdsStatus"];
     }
-    if (_json.containsKey("egregiousStatus")) {
-      egregiousStatus = _json["egregiousStatus"];
-    }
     if (_json.containsKey("enforcementTime")) {
       enforcementTime = _json["enforcementTime"];
     }
@@ -200,12 +204,12 @@
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (abusiveStatus != null) {
+      _json["abusiveStatus"] = abusiveStatus;
+    }
     if (betterAdsStatus != null) {
       _json["betterAdsStatus"] = betterAdsStatus;
     }
-    if (egregiousStatus != null) {
-      _json["egregiousStatus"] = egregiousStatus;
-    }
     if (enforcementTime != null) {
       _json["enforcementTime"] = enforcementTime;
     }
diff --git a/generated/googleapis/lib/analytics/v3.dart b/generated/googleapis/lib/analytics/v3.dart
index 2c644fb..8bcc18a 100644
--- a/generated/googleapis/lib/analytics/v3.dart
+++ b/generated/googleapis/lib/analytics/v3.dart
@@ -5810,12 +5810,15 @@
   CustomDataSourceParentLink parentLink;
   /** IDs of views (profiles) linked to the custom data source. */
   core.List<core.String> profilesLinked;
+  /** Collection of schema headers of the custom data source. */
+  core.List<core.String> schema;
   /** Link for this Analytics custom data source. */
   core.String selfLink;
   /** Type of the custom data source. */
   core.String type;
   /** Time this custom data source was last modified. */
   core.DateTime updated;
+  /** Upload type of the custom data source. */
   core.String uploadType;
   /**
    * Web property ID of the form UA-XXXXX-YY to which this custom data source
@@ -5856,6 +5859,9 @@
     if (_json.containsKey("profilesLinked")) {
       profilesLinked = _json["profilesLinked"];
     }
+    if (_json.containsKey("schema")) {
+      schema = _json["schema"];
+    }
     if (_json.containsKey("selfLink")) {
       selfLink = _json["selfLink"];
     }
@@ -5905,6 +5911,9 @@
     if (profilesLinked != null) {
       _json["profilesLinked"] = profilesLinked;
     }
+    if (schema != null) {
+      _json["schema"] = schema;
+    }
     if (selfLink != null) {
       _json["selfLink"] = selfLink;
     }
@@ -11672,6 +11681,8 @@
    * DELETED.
    */
   core.String status;
+  /** Time this file is uploaded. */
+  core.DateTime uploadTime;
 
   Upload();
 
@@ -11694,6 +11705,9 @@
     if (_json.containsKey("status")) {
       status = _json["status"];
     }
+    if (_json.containsKey("uploadTime")) {
+      uploadTime = core.DateTime.parse(_json["uploadTime"]);
+    }
   }
 
   core.Map<core.String, core.Object> toJson() {
@@ -11716,6 +11730,9 @@
     if (status != null) {
       _json["status"] = status;
     }
+    if (uploadTime != null) {
+      _json["uploadTime"] = (uploadTime).toIso8601String();
+    }
     return _json;
   }
 }
diff --git a/generated/googleapis/lib/androiddeviceprovisioning/v1.dart b/generated/googleapis/lib/androiddeviceprovisioning/v1.dart
index 6e9b977..fa36b1f 100644
--- a/generated/googleapis/lib/androiddeviceprovisioning/v1.dart
+++ b/generated/googleapis/lib/androiddeviceprovisioning/v1.dart
@@ -14,7 +14,10 @@
 
 const core.String USER_AGENT = 'dart-api-client androiddeviceprovisioning/v1';
 
-/** Android Device Provisioning Partner API */
+/**
+ * Automates reseller integration into Zero Touch Provisioning by assigning
+ * devices to customers and creating device reports.
+ */
 class AndroiddeviceprovisioningApi {
 
   final commons.ApiRequester _requester;
@@ -776,12 +779,14 @@
 class DeviceIdentifier {
   /** IMEI (either IMEI or MEID is required). */
   core.String imei;
-  /** Manufacturer to match android.os.Build.MANUFACTURER (required). */
+  /**
+   * Manufacturer name to match `android.os.Build.MANUFACTURER` (required).
+   * Allowed values listed in
+   * [manufacturer names](/zero-touch/resources/manufacturer-names).
+   */
   core.String manufacturer;
   /** MEID */
   core.String meid;
-  /** Model to match android.os.Build.MODEL (required). */
-  core.String model;
   /** Serial number (optional) */
   core.String serialNumber;
 
@@ -797,9 +802,6 @@
     if (_json.containsKey("meid")) {
       meid = _json["meid"];
     }
-    if (_json.containsKey("model")) {
-      model = _json["model"];
-    }
     if (_json.containsKey("serialNumber")) {
       serialNumber = _json["serialNumber"];
     }
@@ -816,9 +818,6 @@
     if (meid != null) {
       _json["meid"] = meid;
     }
-    if (model != null) {
-      _json["model"] = model;
-    }
     if (serialNumber != null) {
       _json["serialNumber"] = serialNumber;
     }
diff --git a/generated/googleapis/lib/androidenterprise/v1.dart b/generated/googleapis/lib/androidenterprise/v1.dart
index 7359d0e..fae7cb6 100644
--- a/generated/googleapis/lib/androidenterprise/v1.dart
+++ b/generated/googleapis/lib/androidenterprise/v1.dart
@@ -949,9 +949,10 @@
   }
 
   /**
-   * Sets the Android Device Policy config resource. EMM may use this API to
+   * Sets the Android Device Policy config resource. EMM may use this method to
    * enable or disable Android Device Policy support for the specified
-   * enterprise.
+   * enterprise. To learn more about managing devices and apps with Android
+   * Device Policy, see the Android Management API.
    *
    * [request] - The metadata request object.
    *
@@ -6314,7 +6315,9 @@
    * that the user is entitled to access all products that are approved for the
    * enterprise. If the value is "allApproved" or "includeAll", the productId
    * field is ignored. If no value is provided, it is interpreted as "whitelist"
-   * for backwards compatibility.
+   * for backwards compatibility. Further "allApproved" or "includeAll" does not
+   * enable automatic visibility of "alpha" or "beta" tracks for Android app.
+   * Use ProductVisibility to enable "alpha" or "beta" tracks per user.
    */
   core.String productSetBehavior;
 
diff --git a/generated/googleapis/lib/androidmanagement/v1.dart b/generated/googleapis/lib/androidmanagement/v1.dart
index 1d8eb8a..d075647 100644
--- a/generated/googleapis/lib/androidmanagement/v1.dart
+++ b/generated/googleapis/lib/androidmanagement/v1.dart
@@ -19,6 +19,9 @@
  * devices and apps.
  */
 class AndroidmanagementApi {
+  /** Manage Android devices and apps for your customers */
+  static const AndroidmanagementScope = "https://www.googleapis.com/auth/androidmanagement";
+
 
   final commons.ApiRequester _requester;
 
@@ -49,9 +52,8 @@
    *
    * Request parameters:
    *
-   * [signupUrlName] - The name of the
-   * [`SignupUrl`](/android/management/reference/rest/v1/signupUrls#SignupUrl)
-   * used to sign up for the enterprise.
+   * [signupUrlName] - The name of the SignupUrl used to sign up for the
+   * enterprise.
    *
    * [enterpriseToken] - The enterprise token appended to the callback URL.
    *
@@ -104,8 +106,7 @@
    *
    * Request parameters:
    *
-   * [name] - The name of the enterprise in the form
-   * `enterprises/{enterpriseId}`
+   * [name] - The name of the enterprise in the form enterprises/{enterpriseId}
    * Value must have pattern "^enterprises/[^/]+$".
    *
    * Completes with a [Enterprise].
@@ -147,12 +148,11 @@
    *
    * Request parameters:
    *
-   * [name] - The name of the enterprise in the form
-   * `enterprises/{enterpriseId}`
+   * [name] - The name of the enterprise in the form enterprises/{enterpriseId}
    * Value must have pattern "^enterprises/[^/]+$".
    *
-   * [updateMask] - The field mask indicating the fields to update.
-   * If not set, all modifiable fields will be modified.
+   * [updateMask] - The field mask indicating the fields to update. If not set,
+   * all modifiable fields will be modified.
    *
    * Completes with a [Enterprise].
    *
@@ -207,13 +207,12 @@
    * Request parameters:
    *
    * [name] - The name of the application in the form
-   * `enterprises/{enterpriseId}/applications/{package_name}`
+   * enterprises/{enterpriseId}/applications/{package_name}
    * Value must have pattern "^enterprises/[^/]+/applications/[^/]+$".
    *
    * [languageCode] - The preferred language for localized application info, as
-   * a BCP47 tag
-   * (e.g. "en-US", "de"). If not specified the default language of the
-   * application will be used.
+   * a BCP47 tag (e.g. "en-US", "de"). If not specified the default language of
+   * the application will be used.
    *
    * Completes with a [Application].
    *
@@ -267,7 +266,7 @@
    * Request parameters:
    *
    * [name] - The name of the device in the form
-   * `enterprises/{enterpriseId}/devices/{deviceId}`
+   * enterprises/{enterpriseId}/devices/{deviceId}
    * Value must have pattern "^enterprises/[^/]+/devices/[^/]+$".
    *
    * Completes with a [Empty].
@@ -308,7 +307,7 @@
    * Request parameters:
    *
    * [name] - The name of the device in the form
-   * `enterprises/{enterpriseId}/devices/{deviceId}`
+   * enterprises/{enterpriseId}/devices/{deviceId}
    * Value must have pattern "^enterprises/[^/]+/devices/[^/]+$".
    *
    * Completes with a [Device].
@@ -344,22 +343,16 @@
   }
 
   /**
-   * Issues a command to a device. The
-   * [`Operation`](/android/management/reference/rest/v1/enterprises.devices.operations#Operation)
-   * resource returned contains a
-   * [`Command`](/android/management/reference/rest/v1/enterprises.devices/issueCommand#Command)
-   * in its `metadata` field.
-   * Use the
-   * [get operation
-   * method](/android/management/reference/rest/v1/enterprises.devices.operations/get)
-   * to get the status of the command.
+   * Issues a command to a device. The Operation resource returned contains a
+   * Command in its metadata field. Use the get operation method to get the
+   * status of the command.
    *
    * [request] - The metadata request object.
    *
    * Request parameters:
    *
    * [name] - The name of the device in the form
-   * `enterprises/{enterpriseId}/devices/{deviceId}`
+   * enterprises/{enterpriseId}/devices/{deviceId}
    * Value must have pattern "^enterprises/[^/]+/devices/[^/]+$".
    *
    * Completes with a [Operation].
@@ -403,12 +396,11 @@
    * Request parameters:
    *
    * [parent] - The name of the enterprise in the form
-   * `enterprises/{enterpriseId}`
+   * enterprises/{enterpriseId}
    * Value must have pattern "^enterprises/[^/]+$".
    *
    * [pageSize] - The requested page size. The actual page size may be fixed to
-   * a min or max
-   * value.
+   * a min or max value.
    *
    * [pageToken] - A token identifying a page of results the server should
    * return.
@@ -459,11 +451,11 @@
    * Request parameters:
    *
    * [name] - The name of the device in the form
-   * `enterprises/{enterpriseId}/devices/{deviceId}`
+   * enterprises/{enterpriseId}/devices/{deviceId}
    * Value must have pattern "^enterprises/[^/]+/devices/[^/]+$".
    *
-   * [updateMask] - The field mask indicating the fields to update.
-   * If not set, all modifiable fields will be modified.
+   * [updateMask] - The field mask indicating the fields to update. If not set,
+   * all modifiable fields will be modified.
    *
    * Completes with a [Device].
    *
@@ -513,16 +505,15 @@
       _requester = client;
 
   /**
-   * 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
+   * 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`.
+   * 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.
    *
    * Request parameters:
    *
@@ -566,7 +557,7 @@
    * Deletes a long-running operation. This method indicates that the client is
    * no longer interested in the operation result. It does not cancel the
    * operation. If the server doesn't support this method, it returns
-   * `google.rpc.Code.UNIMPLEMENTED`.
+   * google.rpc.Code.UNIMPLEMENTED.
    *
    * Request parameters:
    *
@@ -607,7 +598,7 @@
   }
 
   /**
-   * Gets the latest state of a long-running operation.  Clients can use this
+   * 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.
    *
@@ -651,15 +642,14 @@
 
   /**
    * Lists operations that match the specified filter in the request. If the
-   * server doesn't support this method, it returns `UNIMPLEMENTED`.
-   *
-   * NOTE: the `name` binding allows API services to override the binding
-   * to use different resource name schemes, such as `users / * /operations`. To
-   * override the binding, API services can add a binding such as
-   * `"/v1/{name=users / * }/operations"` to their service configuration.
-   * For backwards compatibility, the default name includes the operations
-   * collection id, however overriding users must ensure the name binding
-   * is the parent resource, without the operations collection id.
+   * server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name
+   * binding allows API services to override the binding to use different
+   * resource name schemes, such as users / * /operations. To override the
+   * binding, API services can add a binding such as "/v1/{name=users / *
+   * }/operations" to their service configuration. For backwards compatibility,
+   * the default name includes the operations collection id, however overriding
+   * users must ensure the name binding is the parent resource, without the
+   * operations collection id.
    *
    * Request parameters:
    *
@@ -730,7 +720,7 @@
    * Request parameters:
    *
    * [parent] - The name of the enterprise in the form
-   * `enterprises/{enterpriseId}`
+   * enterprises/{enterpriseId}
    * Value must have pattern "^enterprises/[^/]+$".
    *
    * Completes with a [EnrollmentToken].
@@ -774,7 +764,7 @@
    * Request parameters:
    *
    * [name] - The name of the enrollment token in the form
-   * `enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}`
+   * enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}
    * Value must have pattern "^enterprises/[^/]+/enrollmentTokens/[^/]+$".
    *
    * Completes with a [Empty].
@@ -825,7 +815,7 @@
    * Request parameters:
    *
    * [name] - The name of the policy in the form
-   * `enterprises/{enterpriseId}/policies/{policyId}`
+   * enterprises/{enterpriseId}/policies/{policyId}
    * Value must have pattern "^enterprises/[^/]+/policies/[^/]+$".
    *
    * Completes with a [Empty].
@@ -866,7 +856,7 @@
    * Request parameters:
    *
    * [name] - The name of the policy in the form
-   * `enterprises/{enterpriseId}/policies/{policyId}`
+   * enterprises/{enterpriseId}/policies/{policyId}
    * Value must have pattern "^enterprises/[^/]+/policies/[^/]+$".
    *
    * Completes with a [Policy].
@@ -907,12 +897,11 @@
    * Request parameters:
    *
    * [parent] - The name of the enterprise in the form
-   * `enterprises/{enterpriseId}`
+   * enterprises/{enterpriseId}
    * Value must have pattern "^enterprises/[^/]+$".
    *
    * [pageSize] - The requested page size. The actual page size may be fixed to
-   * a min or max
-   * value.
+   * a min or max value.
    *
    * [pageToken] - A token identifying a page of results the server should
    * return.
@@ -963,11 +952,11 @@
    * Request parameters:
    *
    * [name] - The name of the policy in the form
-   * `enterprises/{enterpriseId}/policies/{policyId}`
+   * enterprises/{enterpriseId}/policies/{policyId}
    * Value must have pattern "^enterprises/[^/]+/policies/[^/]+$".
    *
-   * [updateMask] - The field mask indicating the fields to update.
-   * If not set, all modifiable fields will be modified.
+   * [updateMask] - The field mask indicating the fields to update. If not set,
+   * all modifiable fields will be modified.
    *
    * Completes with a [Policy].
    *
@@ -1025,7 +1014,7 @@
    * Request parameters:
    *
    * [parent] - The name of the enterprise in the form
-   * `enterprises/{enterpriseId}`
+   * enterprises/{enterpriseId}
    * Value must have pattern "^enterprises/[^/]+$".
    *
    * Completes with a [WebToken].
@@ -1078,14 +1067,11 @@
    * Request parameters:
    *
    * [callbackUrl] - The callback URL to which the admin will be redirected
-   * after successfully
-   * creating an enterprise. Before redirecting there the system will add a
-   * query parameter to this URL named `enterpriseToken` which will
-   * contain an opaque token to be used for the
-   * [create
-   * enterprise](/android/management/reference/rest/v1/enterprises/create)
-   * request. The URL will be parsed then reformatted in order to add the
-   * `enterpriseToken` parameter, so there may be some minor formatting changes.
+   * after successfully creating an enterprise. Before redirecting there the
+   * system will add a query parameter to this URL named enterpriseToken which
+   * will contain an opaque token to be used for the create enterprise request.
+   * The URL will be parsed then reformatted in order to add the enterpriseToken
+   * parameter, so there may be some minor formatting changes.
    *
    * [projectId] - The id of the Google Cloud Platform project which will own
    * the enterprise.
@@ -1168,7 +1154,7 @@
   core.List<ManagedProperty> managedProperties;
   /**
    * The name of the application in the form
-   * `enterprises/{enterpriseId}/applications/{package_name}`
+   * enterprises/{enterpriseId}/applications/{package_name}
    */
   core.String name;
   /** The permissions required by the app. */
@@ -1214,8 +1200,8 @@
 /** Application permission. */
 class ApplicationPermission {
   /**
-   * A longer description of the permission, giving more details of
-   * what it affects. Localized.
+   * A longer description of the permission, giving more details of what it
+   * affects. Localized.
    */
   core.String description;
   /** The name of the permission. Localized. */
@@ -1256,12 +1242,12 @@
 class ApplicationPolicy {
   /**
    * The default policy for all permissions requested by the app. If specified,
-   * this overrides the policy-level `default_permission_policy` which applies
-   * to all apps.
+   * this overrides the policy-level default_permission_policy which applies to
+   * all apps.
    * Possible string values are:
    * - "PERMISSION_POLICY_UNSPECIFIED" : Policy not specified. If no policy is
-   * specified for a permission at any
-   * level, then the `PROMPT` behavior is used by default.
+   * specified for a permission at any level, then the PROMPT behavior is used
+   * by default.
    * - "PROMPT" : Prompt the user to grant a permission.
    * - "GRANT" : Automatically grant a permission.
    * - "DENY" : Automatically deny a permission.
@@ -1271,48 +1257,40 @@
    * The type of installation to perform.
    * Possible string values are:
    * - "INSTALL_TYPE_UNSPECIFIED" : No automatic installation is performed. Any
-   * other app policies will be
-   * applied if the user installs the app.
+   * other app policies will be applied if the user installs the app.
    * - "PREINSTALLED" : The application is automatically installed and can be
-   * removed by the
-   * user.
+   * removed by the user.
    * - "FORCE_INSTALLED" : The application is automatically installed and cannot
-   * be removed by the
-   * user.
+   * be removed by the user.
    */
   core.String installType;
   /** Whether the application is allowed to lock itself in full-screen mode. */
   core.bool lockTaskAllowed;
   /**
    * Managed configuration applied to the app. The format for the configuration
-   * is dictated by the
-   * [`ManagedProperty`](/android/management/reference/rest/v1/enterprises.applications#ManagedProperty)
-   * values supported by the app. Each field name in the managed configuration
-   * must match the `key` field of the `ManagedProperty`. The field value must
-   * be compatible with the `type` of the `ManagedProperty`:
-   * <table>
-   * <tr><td><i>type</i></td><td><i>JSON value</i></td></tr>
-   * <tr><td>`BOOL`</td><td>`true` or `false`</td></tr>
-   * <tr><td>`STRING`</td><td>string</td></tr>
-   * <tr><td>`INTEGER`</td><td>number</td></tr>
-   * <tr><td>`CHOICE`</td><td>string</td></tr>
-   * <tr><td>`MULTISELECT`</td><td>array of strings</td></tr>
-   * <tr><td>`HIDDEN`</td><td>string</td></tr>
-   * <tr><td>`BUNDLE_ARRAY`</td><td>array of objects</td></tr>
-   * </table>
+   * is dictated by the ManagedProperty values supported by the app. Each field
+   * name in the managed configuration must match the key field of the
+   * ManagedProperty. The field value must be compatible with the type of the
+   * ManagedProperty: <table> <tr><td><i>type</i></td><td><i>JSON
+   * value</i></td></tr> <tr><td>BOOL</td><td>true or false</td></tr>
+   * <tr><td>STRING</td><td>string</td></tr>
+   * <tr><td>INTEGER</td><td>number</td></tr>
+   * <tr><td>CHOICE</td><td>string</td></tr> <tr><td>MULTISELECT</td><td>array
+   * of strings</td></tr> <tr><td>HIDDEN</td><td>string</td></tr>
+   * <tr><td>BUNDLE_ARRAY</td><td>array of objects</td></tr> </table>
    *
    * The values for Object must be JSON objects. It can consist of `num`,
    * `String`, `bool` and `null` as well as `Map` and `List` values.
    */
   core.Map<core.String, core.Object> managedConfiguration;
   /**
-   * The package name of the app, e.g. `com.google.android.youtube` for the
+   * The package name of the app, e.g. com.google.android.youtube for the
    * YouTube app.
    */
   core.String packageName;
   /**
    * Explicit permission grants or denials for the app. These values override
-   * the `default_permission_policy`.
+   * the default_permission_policy.
    */
   core.List<PermissionGrant> permissionGrants;
 
@@ -1372,16 +1350,15 @@
   core.String createTime;
   /**
    * The duration for which the command is valid. The command will expire if not
-   * executed by the device during this time.  The default duration if
+   * executed by the device during this time. The default duration if
    * unspecified is ten minutes. There is no maximum duration.
    */
   core.String duration;
   /**
-   * For commands of type `RESET_PASSWORD`, optionally specifies the new
-   * password.
+   * For commands of type RESET_PASSWORD, optionally specifies the new password.
    */
   core.String newPassword;
-  /** For commands of type `RESET_PASSWORD`, optionally specifies flags. */
+  /** For commands of type RESET_PASSWORD, optionally specifies flags. */
   core.List<core.String> resetPasswordFlags;
   /**
    * The type of the command.
@@ -1437,11 +1414,10 @@
 /**
  * A rule declaring which mitigating actions to take when a device is not
  * compliant with its policy. For every rule, there is always an implicit
- * mitigating action to set `policy_compliant` to false for the
- * [`Device`](/android/management/reference/rest/v1/enterprises.devices#Device)
- * resource, and display a message on the device indicating that the device is
- * not compliant with its policy. Other mitigating actions may optionally be
- * taken as well, depending on the field values in the rule.
+ * mitigating action to set policy_compliant to false for the Device resource,
+ * and display a message on the device indicating that the device is not
+ * compliant with its policy. Other mitigating actions may optionally be taken
+ * as well, depending on the field values in the rule.
  */
 class ComplianceRule {
   /**
@@ -1458,9 +1434,8 @@
    */
   core.bool disableApps;
   /**
-   * A condition which is satisfied if there exists *any* matching
-   * [`NonComplianceDetail`](/android/management/reference/rest/v1/enterprises.devices#NonComplianceDetail)
-   * for the device.
+   * A condition which is satisfied if there exists any matching
+   * NonComplianceDetail for the device.
    */
   NonComplianceDetailCondition nonComplianceDetailCondition;
 
@@ -1494,9 +1469,8 @@
 }
 
 /**
- * A device owned by an enterprise.
- * Unless otherwise noted, all fields are read-only and cannot be modified by
- * an update device request.
+ * A device owned by an enterprise. Unless otherwise noted, all fields are
+ * read-only and cannot be modified by an update device request.
  */
 class Device {
   /** The API level of the Android platform version running on the device. */
@@ -1512,23 +1486,21 @@
    * - "ACTIVE" : The device is active.
    * - "DISABLED" : The device is disabled.
    * - "DELETED" : The device was deleted. This state will never be returned by
-   * an API call,
-   * but will be used in the final policy compliance report published to Cloud
-   * Pub/Sub when the device acknowledges the deletion.
+   * an API call, but will be used in the final policy compliance report
+   * published to Cloud Pub/Sub when the device acknowledges the deletion.
    * - "PROVISIONING" : The device is being provisioned. Newly enrolled devices
-   * will be in this
-   * state until they have applied policy.
+   * will be in this state until they have applied policy.
    */
   core.String appliedState;
   /**
-   * If the device state is `DISABLED`, an optional message that is displayed on
+   * If the device state is DISABLED, an optional message that is displayed on
    * the device indicating the reason the device is disabled. This field may be
    * modified by an update request.
    */
   UserFacingMessage disabledReason;
   /**
    * Displays on the device. This information is only available when
-   * `displayInfoEnabled` is true in the device's policy.
+   * displayInfoEnabled is true in the device's policy.
    */
   core.List<Display> displays;
   /** The time of device enrollment. */
@@ -1547,7 +1519,7 @@
   HardwareInfo hardwareInfo;
   /**
    * Hardware status samples in chronological order. This information is only
-   * available when `hardwareStatusEnabled` is true in the device's policy.
+   * available when hardwareStatusEnabled is true in the device's policy.
    */
   core.List<HardwareStatus> hardwareStatusSamples;
   /** The last time the device sent a policy compliance report. */
@@ -1558,23 +1530,23 @@
   core.String lastStatusReportTime;
   /**
    * Events related to memory and storage measurements in chronological order.
-   * This information is only available when `memoryInfoEnabled` is true in the
+   * This information is only available when memoryInfoEnabled is true in the
    * device's policy.
    */
   core.List<MemoryEvent> memoryEvents;
   /**
    * Memory information. This information is only available when
-   * `memoryInfoEnabled` is true in the device's policy.
+   * memoryInfoEnabled is true in the device's policy.
    */
   MemoryInfo memoryInfo;
   /**
    * The name of the device in the form
-   * `enterprises/{enterpriseId}/devices/{deviceId}`
+   * enterprises/{enterpriseId}/devices/{deviceId}
    */
   core.String name;
   /**
    * Device network information. This information is only available when
-   * `networkInfoEnabled` is true in the device's policy.
+   * networkInfoEnabled is true in the device's policy.
    */
   NetworkInfo networkInfo;
   /**
@@ -1585,19 +1557,18 @@
   core.bool policyCompliant;
   /**
    * The name of the policy that is intended to be applied to the device. If
-   * empty, the policy with id `default` is applied.
-   * This field may be modified by an update request.
-   * The name of the policy is in the form
-   * `enterprises/{enterpriseId}/policies/{policyId}`.
-   * It is also permissible to only specify the `policyId` when updating this
-   * field as long as the `policyId` contains no slashes since the rest of the
-   * policy name can be inferred from context.
+   * empty, the policy with id default is applied. This field may be modified by
+   * an update request. The name of the policy is in the form
+   * enterprises/{enterpriseId}/policies/{policyId}. It is also permissible to
+   * only specify the policyId when updating this field as long as the policyId
+   * contains no slashes since the rest of the policy name can be inferred from
+   * context.
    */
   core.String policyName;
   /**
    * Power management events on the device in chronological order. This
-   * information is only available when `powerManagementEventsEnabled` is true
-   * in the device's policy.
+   * information is only available when powerManagementEventsEnabled is true in
+   * the device's policy.
    */
   core.List<PowerManagementEvent> powerManagementEvents;
   /**
@@ -1609,34 +1580,29 @@
   core.List<core.String> previousDeviceNames;
   /**
    * Detailed information about the device software. This information is only
-   * available when `softwareInfoEnabled` is true in the device's policy.
+   * available when softwareInfoEnabled is true in the device's policy.
    */
   SoftwareInfo softwareInfo;
   /**
    * The state that is intended to be applied to the device. This field may be
-   * modified by an update request.
-   * Note that UpdateDevice only handles toggling between `ACTIVE` and
-   * `DISABLED` states. Use the
-   * [delete device
-   * method](/android/management/reference/rest/v1/enterprises.devices/delete)
-   * to cause the device to enter the `DELETED` state.
+   * modified by an update request. Note that UpdateDevice only handles toggling
+   * between ACTIVE and DISABLED states. Use the delete device method to cause
+   * the device to enter the DELETED state.
    * Possible string values are:
    * - "DEVICE_STATE_UNSPECIFIED" : This value is disallowed.
    * - "ACTIVE" : The device is active.
    * - "DISABLED" : The device is disabled.
    * - "DELETED" : The device was deleted. This state will never be returned by
-   * an API call,
-   * but will be used in the final policy compliance report published to Cloud
-   * Pub/Sub when the device acknowledges the deletion.
+   * an API call, but will be used in the final policy compliance report
+   * published to Cloud Pub/Sub when the device acknowledges the deletion.
    * - "PROVISIONING" : The device is being provisioned. Newly enrolled devices
-   * will be in this
-   * state until they have applied policy.
+   * will be in this state until they have applied policy.
    */
   core.String state;
   /**
    * The resource name of the user of the device in the form
-   * `enterprises/{enterpriseId}/users/{userId}`. This is the name of the
-   * device account automatically created for this device.
+   * enterprises/{enterpriseId}/users/{userId}. This is the name of the device
+   * account automatically created for this device.
    */
   core.String userName;
 
@@ -1887,14 +1853,12 @@
 
 /**
  * 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 `{}`.
+ * 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 {}.
  */
 class Empty {
 
@@ -1912,14 +1876,11 @@
 /** An enrollment token. */
 class EnrollmentToken {
   /**
-   * Optional, arbitrary data associated with the enrollment token.
-   * This could contain, for example, the id of an org unit to which the device
-   * is assigned after enrollment.
-   * After a device enrolls with the token, this data will be exposed in the
-   * `enrollment_token_data` field of the
-   * [`Device`](/android/management/reference/rest/v1/enterprises.devices#Device)
-   * resource. The data must be 1024 characters or less; otherwise, the creation
-   * request will fail.
+   * Optional, arbitrary data associated with the enrollment token. This could
+   * contain, for example, the id of an org unit to which the device is assigned
+   * after enrollment. After a device enrolls with the token, this data will be
+   * exposed in the enrollment_token_data field of the Device resource. The data
+   * must be 1024 characters or less; otherwise, the creation request will fail.
    */
   core.String additionalData;
   /**
@@ -1935,22 +1896,22 @@
   /**
    * The name of the enrollment token, which is generated by the server during
    * creation, in the form
-   * `enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}`
+   * enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}
    */
   core.String name;
   /**
    * The name of the policy that will be initially applied to the enrolled
-   * device in the form `enterprises/{enterpriseId}/policies/{policyId}`.
-   * If not specified, the policy with id `default` is applied.
-   * It is permissible to only specify the `policyId` when updating this
-   * field as long as the `policyId` contains no slashes since the rest of the
-   * policy name can be inferred from context.
+   * device in the form enterprises/{enterpriseId}/policies/{policyId}. If not
+   * specified, the policy with id default is applied. It is permissible to only
+   * specify the policyId when updating this field as long as the policyId
+   * contains no slashes since the rest of the policy name can be inferred from
+   * context.
    */
   core.String policyName;
   /**
    * A JSON string whose UTF-8 representation can be used to generate a QR code
    * to enroll a device with this enrollment token. To enroll a device using
-   * NFC, the NFC record must contain a serialized `java.util.Properties`
+   * NFC, the NFC record must contain a serialized java.util.Properties
    * representation of the properties in the JSON.
    */
   core.String qrCode;
@@ -2035,21 +1996,20 @@
   ExternalData logo;
   /**
    * The name of the enterprise which is generated by the server during
-   * creation, in the form
-   * `enterprises/{enterpriseId}`
+   * creation, in the form enterprises/{enterpriseId}
    */
   core.String name;
   /**
    * A color in RGB format indicating the predominant color to display in the
-   * device management app UI. The color components are stored as follows:
-   * `(red << 16) | (green << 8) | blue`, where each component may take a value
-   * between 0 and 255 inclusive.
+   * device management app UI. The color components are stored as follows: (red
+   * << 16) | (green << 8) | blue, where each component may take a value between
+   * 0 and 255 inclusive.
    */
   core.int primaryColor;
   /**
    * When Cloud Pub/Sub notifications are enabled, this field is required to
    * indicate the topic to which the notifications will be published. The format
-   * of this field is `projects/{project}/topics/{topic}`. You must have granted
+   * of this field is projects/{project}/topics/{topic}. You must have granted
    * the publish permission on this topic to
    * android-cloud-policy@system.gserviceaccount.com
    */
@@ -2167,7 +2127,7 @@
    * the device.
    */
   core.List<core.double> batteryThrottlingTemperatures;
-  /** Brand of the device, e.g. `Google`. */
+  /** Brand of the device, e.g. Google. */
   core.String brand;
   /**
    * CPU shutdown temperature thresholds in Celsius for each CPU on the device.
@@ -2178,7 +2138,7 @@
    * device.
    */
   core.List<core.double> cpuThrottlingTemperatures;
-  /** Baseband version, e.g. `MDM9625_104662.22.05.34p`. */
+  /** Baseband version, e.g. MDM9625_104662.22.05.34p. */
   core.String deviceBasebandVersion;
   /**
    * GPU shutdown temperature thresholds in Celsius for each GPU on the device.
@@ -2189,11 +2149,11 @@
    * device.
    */
   core.List<core.double> gpuThrottlingTemperatures;
-  /** Name of the hardware, e.g. `Angler`. */
+  /** Name of the hardware, e.g. Angler. */
   core.String hardware;
-  /** Manufacturer, e.g. `Motorola`. */
+  /** Manufacturer, e.g. Motorola. */
   core.String manufacturer;
-  /** The model of the device, e.g. `Asus Nexus 7`. */
+  /** The model of the device, e.g. Asus Nexus 7. */
   core.String model;
   /** The device serial number. */
   core.String serialNumber;
@@ -2299,7 +2259,7 @@
 
 /**
  * Hardware status. Temperatures may be compared to the temperature thresholds
- * available in `hardwareInfo` to determine hardware health.
+ * available in hardwareInfo to determine hardware health.
  */
 class HardwareStatus {
   /**
@@ -2309,9 +2269,9 @@
   /** Current CPU temperatures in Celsius for each CPU on the device. */
   core.List<core.double> cpuTemperatures;
   /**
-   * CPU usages in percentage for each core available on the device.
-   * Usage is 0 for each unplugged core. Empty array implies that CPU usage
-   * is not supported in the system.
+   * CPU usages in percentage for each core available on the device. Usage is 0
+   * for each unplugged core. Empty array implies that CPU usage is not
+   * supported in the system.
    */
   core.List<core.double> cpuUsages;
   /** The time the measurements were taken. */
@@ -2472,8 +2432,8 @@
 /** Managed property. */
 class ManagedProperty {
   /**
-   * The default value of the properties. `BUNDLE_ARRAY` properties
-   * never have a default value.
+   * The default value of the properties. BUNDLE_ARRAY properties never have a
+   * default value.
    *
    * The values for Object must be JSON objects. It can consist of `num`,
    * `String`, `bool` and `null` as well as `Map` and `List` values.
@@ -2484,19 +2444,16 @@
    * affects. Localized.
    */
   core.String description;
-  /**
-   * For `CHOICE` or `MULTISELECT` properties, the list
-   * of possible entries.
-   */
+  /** For CHOICE or MULTISELECT properties, the list of possible entries. */
   core.List<ManagedPropertyEntry> entries;
   /**
-   * The unique key that the application uses to identify the property,
-   * e.g. "com.google.android.gm.fieldname".
+   * The unique key that the application uses to identify the property, e.g.
+   * "com.google.android.gm.fieldname".
    */
   core.String key;
   /**
-   * For `BUNDLE_ARRAY` properties, the list of nested properties. A
-   * `BUNDLE_ARRAY` property is at most two levels deep.
+   * For BUNDLE_ARRAY properties, the list of nested properties. A BUNDLE_ARRAY
+   * property is at most two levels deep.
    */
   core.List<ManagedProperty> nestedProperties;
   /** The name of the property. Localized. */
@@ -2511,8 +2468,7 @@
    * - "CHOICE" : A choice of one item from a set.
    * - "MULTISELECT" : A choice of multiple items from a set.
    * - "HIDDEN" : A hidden restriction of string type (the default value can be
-   * used
-   * to pass along information that cannot be modified, such as a version
+   * used to pass along information that cannot be modified, such as a version
    * code).
    * - "BUNDLE_ARRAY" : An array of property bundles.
    */
@@ -2607,7 +2563,7 @@
 /** An event related to memory and storage measurements. */
 class MemoryEvent {
   /**
-   * The number of free bytes in the medium, or for `EXTERNAL_STORAGE_DETECTED`,
+   * The number of free bytes in the medium, or for EXTERNAL_STORAGE_DETECTED,
    * the total capacity in bytes of the storage medium.
    */
   core.String byteCount;
@@ -2621,8 +2577,7 @@
    * - "INTERNAL_STORAGE_MEASURED" : Free space in internal storage was
    * measured.
    * - "EXTERNAL_STORAGE_DETECTED" : A new external storage medium was detected.
-   * The reported byte count is
-   * the total capacity of the storage medium.
+   * The reported byte count is the total capacity of the storage medium.
    * - "EXTERNAL_STORAGE_REMOVED" : An external storage medium was removed. The
    * reported byte count is zero.
    * - "EXTERNAL_STORAGE_MEASURED" : Free space in an external storage medium
@@ -2691,11 +2646,11 @@
 
 /** Device network info. */
 class NetworkInfo {
-  /** IMEI number of the GSM device, e.g. `A1000031212`. */
+  /** IMEI number of the GSM device, e.g. A1000031212. */
   core.String imei;
-  /** MEID number of the CDMA device, e.g. `A00000292788E1`. */
+  /** MEID number of the CDMA device, e.g. A00000292788E1. */
   core.String meid;
-  /** WiFi MAC address of the device, e.g. `7c:11:11:11:11:11`. */
+  /** WiFi MAC address of the device, e.g. 7c:11:11:11:11:11. */
   core.String wifiMacAddress;
 
   NetworkInfo();
@@ -2741,26 +2696,23 @@
    * For settings with nested fields, if a particular nested field is out of
    * compliance, this specifies the full path to the offending field. The path
    * is formatted in the same way the policy JSON field would be referenced in
-   * JavaScript, that is:
-   * 1) For object-typed fields, the field name is followed by a dot then by a
-   *    subfield name.
-   * 2) For array-typed fields, the field name is followed by the array index
-   *    enclosed in brackets.
-   * For example, to indicate a problem with the `url` field in the
-   * `externalData` field in the 3rd application, the path would be
-   * `applications[2].externalData.url`
+   * JavaScript, that is: 1) For object-typed fields, the field name is followed
+   * by a dot then by a  subfield name. 2) For array-typed fields, the field
+   * name is followed by the array index  enclosed in brackets. For example, to
+   * indicate a problem with the url field in the externalData field in the 3rd
+   * application, the path would be applications[2].externalData.url
    */
   core.String fieldPath;
   /**
-   * If `package_name` is set and the non-compliance reason is
-   * `APP_NOT_INSTALLED`, the detailed reason the app cannot be installed.
+   * If package_name is set and the non-compliance reason is APP_NOT_INSTALLED,
+   * the detailed reason the app cannot be installed.
    * Possible string values are:
    * - "INSTALLATION_FAILURE_REASON_UNSPECIFIED" : This value is disallowed.
    * - "INSTALLATION_FAILURE_REASON_UNKNOWN" : An unknown condition is
-   * preventing the app from being installed. Some
-   * potential reaons are that the device does not have enough storage, the
-   * device network connection is unreliable, or the installation is taking
-   * longer than expected. The installation will be retried automatically.
+   * preventing the app from being installed. Some potential reaons are that the
+   * device does not have enough storage, the device network connection is
+   * unreliable, or the installation is taking longer than expected. The
+   * installation will be retried automatically.
    * - "IN_PROGRESS" : The installation is still in progress.
    * - "NOT_FOUND" : The app was not found in Play.
    * - "NOT_COMPATIBLE_WITH_DEVICE" : The app is incompatible with the device.
@@ -2772,8 +2724,9 @@
    * - "NO_LICENSES_REMAINING" : There are no more licenses to assign to the
    * user.
    * - "NOT_ENROLLED" : The enterprise is no longer enrolled with Play for Work
-   * or Android Device
-   * Policy is not enabled for the enterprise.
+   * or Android Device Policy is not enabled for the enterprise.
+   * - "USER_INVALID" : The user is no longer valid. The user may have been
+   * deleted or disabled.
    */
   core.String installationFailureReason;
   /**
@@ -2781,26 +2734,21 @@
    * Possible string values are:
    * - "NON_COMPLIANCE_REASON_UNSPECIFIED" : This value is disallowed.
    * - "API_LEVEL" : The setting is not supported in the API level of Android OS
-   * version the
-   * device is running.
+   * version the device is running.
    * - "ADMIN_TYPE" : The admin type (profile owner, device owner, etc.) does
-   * not support the
-   * setting.
+   * not support the setting.
    * - "USER_ACTION" : The user has not taken required action to comply with the
    * setting.
    * - "INVALID_VALUE" : The setting has an invalid value.
    * - "APP_NOT_INSTALLED" : The application required to implement the policy is
    * not installed.
    * - "UNSUPPORTED" : The policy is not supported by the version of Android
-   * Device Policy on
-   * the device.
+   * Device Policy on the device.
    * - "APP_INSTALLED" : A blocked application is installed.
    * - "PENDING" : The setting was not applied yet at the time of the report,
-   * but is
-   * expected to be applied shortly.
+   * but is expected to be applied shortly.
    * - "APP_INCOMPATIBLE" : The setting cannot be applied to the application
-   * because its target SDK
-   * version is not high enough.
+   * because its target SDK version is not high enough.
    */
   core.String nonComplianceReason;
   /**
@@ -2810,8 +2758,7 @@
   core.String packageName;
   /**
    * The name of the policy setting. This is the JSON field name of a top-level
-   * [`Policy`](/android/management/reference/rest/v1/enterprises.policies#Policy)
-   *  field.
+   * Policy  field.
    */
   core.String settingName;
 
@@ -2863,12 +2810,10 @@
 }
 
 /**
- * A compliance rule condition which is satisfied if there exists *any*
- * matching
- * [`NonComplianceDetail`](/android/management/reference/rest/v1/enterprises.devices#NonComplianceDetail)
- * for the device. A `NonComplianceDetail` matches a
- * `NonComplianceDetailCondition` if *all* the fields which are set within the
- * `NonComplianceDetailCondition` match the corresponding `NonComplianceDetail`
+ * A compliance rule condition which is satisfied if there exists any matching
+ * NonComplianceDetail for the device. A NonComplianceDetail matches a
+ * NonComplianceDetailCondition if all the fields which are set within the
+ * NonComplianceDetailCondition match the corresponding NonComplianceDetail
  * fields.
  */
 class NonComplianceDetailCondition {
@@ -2878,39 +2823,33 @@
    * Possible string values are:
    * - "NON_COMPLIANCE_REASON_UNSPECIFIED" : This value is disallowed.
    * - "API_LEVEL" : The setting is not supported in the API level of Android OS
-   * version the
-   * device is running.
+   * version the device is running.
    * - "ADMIN_TYPE" : The admin type (profile owner, device owner, etc.) does
-   * not support the
-   * setting.
+   * not support the setting.
    * - "USER_ACTION" : The user has not taken required action to comply with the
    * setting.
    * - "INVALID_VALUE" : The setting has an invalid value.
    * - "APP_NOT_INSTALLED" : The application required to implement the policy is
    * not installed.
    * - "UNSUPPORTED" : The policy is not supported by the version of Android
-   * Device Policy on
-   * the device.
+   * Device Policy on the device.
    * - "APP_INSTALLED" : A blocked application is installed.
    * - "PENDING" : The setting was not applied yet at the time of the report,
-   * but is
-   * expected to be applied shortly.
+   * but is expected to be applied shortly.
    * - "APP_INCOMPATIBLE" : The setting cannot be applied to the application
-   * because its target SDK
-   * version is not high enough.
+   * because its target SDK version is not high enough.
    */
   core.String nonComplianceReason;
   /**
    * The package name indicating which application is out of compliance. If not
    * set, then this condition matches any package name. If this field is set,
-   * then `setting_name` must be unset or set to `applications`; otherwise, the
+   * then setting_name must be unset or set to applications; otherwise, the
    * condition would never be satisfied.
    */
   core.String packageName;
   /**
    * The name of the policy setting. This is the JSON field name of a top-level
-   * [`Policy`](/android/management/reference/rest/v1/enterprises.policies#Policy)
-   * field. If not set, then this condition matches any setting name.
+   * Policy field. If not set, then this condition matches any setting name.
    */
   core.String settingName;
 
@@ -2949,17 +2888,17 @@
  */
 class Operation {
   /**
-   * 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
+   * 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.
    */
   core.bool done;
   /** The error result of the operation in case of failure or cancellation. */
   Status error;
   /**
-   * 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
+   * 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.
    *
    * The values for Object must be JSON objects. It can consist of `num`,
@@ -2968,19 +2907,18 @@
   core.Map<core.String, core.Object> metadata;
   /**
    * 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 have the format of `operations/some/unique/name`.
+   * originally returns it. If you use the default HTTP mapping, the name should
+   * have the format of operations/some/unique/name.
    */
   core.String name;
   /**
-   * 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`.
+   * 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.
    *
    * The values for Object must be JSON objects. It can consist of `num`,
    * `String`, `bool` and `null` as well as `Map` and `List` values.
@@ -3038,47 +2976,45 @@
   /** Password expiration timeout. */
   core.String passwordExpirationTimeout;
   /**
-   * The length of the password history. After setting this, the user will
-   * not be able to enter a new password that is the same as any password in
-   * the history. A value of 0 means there is no restriction.
+   * The length of the password history. After setting this, the user will not
+   * be able to enter a new password that is the same as any password in the
+   * history. A value of 0 means there is no restriction.
    */
   core.int passwordHistoryLength;
   /**
    * The minimum allowed password length. A value of 0 means there is no
-   * restriction.
-   * Only enforced when `password_quality` is `NUMERIC`, `NUMERIC_COMPLEX`,
-   * `ALPHABETIC`, `ALPHANUMERIC`, or `COMPLEX`.
+   * restriction. Only enforced when password_quality is NUMERIC,
+   * NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX.
    */
   core.int passwordMinimumLength;
   /**
-   * Minimum number of letters required in the password.
-   * Only enforced when `password_quality` is `COMPLEX`.
+   * Minimum number of letters required in the password. Only enforced when
+   * password_quality is COMPLEX.
    */
   core.int passwordMinimumLetters;
   /**
-   * Minimum number of lower case letters required in the password.
-   * Only enforced when `password_quality` is `COMPLEX`.
+   * Minimum number of lower case letters required in the password. Only
+   * enforced when password_quality is COMPLEX.
    */
   core.int passwordMinimumLowerCase;
   /**
    * Minimum number of non-letter characters (numerical digits or symbols)
-   * required in the password.
-   * Only enforced when `password_quality` is `COMPLEX`.
+   * required in the password. Only enforced when password_quality is COMPLEX.
    */
   core.int passwordMinimumNonLetter;
   /**
-   * Minimum number of numerical digits required in the password.
-   * Only enforced when `password_quality` is `COMPLEX`.
+   * Minimum number of numerical digits required in the password. Only enforced
+   * when password_quality is COMPLEX.
    */
   core.int passwordMinimumNumeric;
   /**
-   * Minimum number of symbols required in the password.
-   * Only enforced when `password_quality` is `COMPLEX`.
+   * Minimum number of symbols required in the password. Only enforced when
+   * password_quality is COMPLEX.
    */
   core.int passwordMinimumSymbols;
   /**
-   * Minimum number of upper case letters required in the password.
-   * Only enforced when `password_quality` is `COMPLEX`.
+   * Minimum number of upper case letters required in the password. Only
+   * enforced when password_quality is COMPLEX.
    */
   core.int passwordMinimumUpperCase;
   /**
@@ -3087,21 +3023,17 @@
    * - "PASSWORD_QUALITY_UNSPECIFIED" : There are no requirements for the
    * password.
    * - "SOMETHING" : There must be a password, but there are no restrictions on
-   * its
-   * characters.
+   * its characters.
    * - "NUMERIC" : The password must contain numeric characters.
    * - "NUMERIC_COMPLEX" : The password must contain numeric characters with no
-   * repeating (4444) or
-   * ordered (1234, 4321, 2468) sequences.
+   * repeating (4444) or ordered (1234, 4321, 2468) sequences.
    * - "ALPHABETIC" : The password must contain alphabetic (or symbol)
    * characters.
    * - "ALPHANUMERIC" : The password must contain at both numeric and alphabetic
-   * (or symbol)
-   * characters.
+   * (or symbol) characters.
    * - "COMPLEX" : The password must contain at least a letter, a numerical
-   * digit and a
-   * special symbol. Other password constraints, for example,
-   * `password_minimum_letters` are enforced.
+   * digit and a special symbol. Other password constraints, for example,
+   * password_minimum_letters are enforced.
    */
   core.String passwordQuality;
 
@@ -3184,14 +3116,14 @@
 
 /** Configuration for an Android permission and its grant state. */
 class PermissionGrant {
-  /** The android permission, e.g. `android.permission.READ_CALENDAR`. */
+  /** The android permission, e.g. android.permission.READ_CALENDAR. */
   core.String permission;
   /**
    * The policy for granting the permission.
    * Possible string values are:
    * - "PERMISSION_POLICY_UNSPECIFIED" : Policy not specified. If no policy is
-   * specified for a permission at any
-   * level, then the `PROMPT` behavior is used by default.
+   * specified for a permission at any level, then the PROMPT behavior is used
+   * by default.
    * - "PROMPT" : Prompt the user to grant a permission.
    * - "GRANT" : Automatically grant a permission.
    * - "DENY" : Automatically deny a permission.
@@ -3227,13 +3159,13 @@
  */
 class PersistentPreferredActivity {
   /**
-   * The intent actions to match in the filter.  If any actions are included in
+   * The intent actions to match in the filter. If any actions are included in
    * the filter, then an intent's action must be one of those values for it to
    * match. If no actions are included, the intent action is ignored.
    */
   core.List<core.String> actions;
   /**
-   * The intent categories to match in the filter.  An intent includes the
+   * The intent categories to match in the filter. An intent includes the
    * categories that it requires, all of which must be included in the filter in
    * order to match. In other words, adding a category to the filter has no
    * impact on matching unless that category is specified in the intent.
@@ -3241,7 +3173,7 @@
   core.List<core.String> categories;
   /**
    * The activity that should be the default intent handler. This should be an
-   * Android component name, e.g. `com.android.enterprise.app/.MainActivity`.
+   * Android component name, e.g. com.android.enterprise.app/.MainActivity.
    * Alternatively, the value may be the package name of an app, which causes
    * Android Device Policy to choose an appropriate activity from the app to
    * handle the intent.
@@ -3286,9 +3218,9 @@
   /** Policy applied to apps. */
   core.List<ApplicationPolicy> applications;
   /**
-   * Whether applications other than the ones configured in `applications` are
-   * blocked from being installed. When set, applications that were
-   * installed under a previous policy but no longer appear in the policy are
+   * Whether applications other than the ones configured in applications are
+   * blocked from being installed. When set, applications that were installed
+   * under a previous policy but no longer appear in the policy are
    * automatically uninstalled.
    */
   core.bool blockApplicationsEnabled;
@@ -3307,8 +3239,8 @@
    * The default permission policy for requests for runtime permissions.
    * Possible string values are:
    * - "PERMISSION_POLICY_UNSPECIFIED" : Policy not specified. If no policy is
-   * specified for a permission at any
-   * level, then the `PROMPT` behavior is used by default.
+   * specified for a permission at any level, then the PROMPT behavior is used
+   * by default.
    * - "PROMPT" : Prompt the user to grant a permission.
    * - "GRANT" : Automatically grant a permission.
    * - "DENY" : Automatically deny a permission.
@@ -3317,16 +3249,20 @@
   /** Whether factory resetting from settings is disabled. */
   core.bool factoryResetDisabled;
   /**
-   * Email addresses of device administrators for factory reset protection.
-   * When the device is factory reset, it will require one of these admins to
-   * log in with the Google account email and password to unlock the device.
-   * If no admins are specified, the device will not provide factory reset
-   * protection.
+   * Email addresses of device administrators for factory reset protection. When
+   * the device is factory reset, it will require one of these admins to log in
+   * with the Google account email and password to unlock the device. If no
+   * admins are specified, the device will not provide factory reset protection.
    */
   core.List<core.String> frpAdminEmails;
   /**
-   * Whether the user is allowed to enable the "Unknown Sources" setting,
-   * which allows installation of apps from unknown sources.
+   * Whether the user is allowed to have fun. Controls whether the Easter egg
+   * game in Settings is disabled.
+   */
+  core.bool funDisabled;
+  /**
+   * Whether the user is allowed to enable the "Unknown Sources" setting, which
+   * allows installation of apps from unknown sources.
    */
   core.bool installUnknownSourcesAllowed;
   /** Whether the keyguard is disabled. */
@@ -3340,7 +3276,7 @@
   core.bool modifyAccountsDisabled;
   /**
    * The name of the policy in the form
-   * `enterprises/{enterpriseId}/policies/{policyId}`
+   * enterprises/{enterpriseId}/policies/{policyId}
    */
   core.String name;
   /**
@@ -3353,9 +3289,8 @@
    */
   core.bool networkEscapeHatchEnabled;
   /**
-   * Network configuration for the device. See
-   * [configure networks](/android/management/configure-networks)
-   * for more information.
+   * Network configuration for the device. See configure networks for more
+   * information.
    *
    * The values for Object must be JSON objects. It can consist of `num`,
    * `String`, `bool` and `null` as well as `Map` and `List` values.
@@ -3380,13 +3315,13 @@
   StatusReportingSettings statusReportingSettings;
   /**
    * The battery plugged in modes for which the device stays on. When using this
-   * setting, it is recommended to clear `maximum_time_to_lock` so that the
-   * device doesn't lock itself while it stays on.
+   * setting, it is recommended to clear maximum_time_to_lock so that the device
+   * doesn't lock itself while it stays on.
    */
   core.List<core.String> stayOnPluggedModes;
   /**
    * The system update policy, which controls how OS updates are applied. If the
-   * update type is `WINDOWED` and the device has a device account, the update
+   * update type is WINDOWED and the device has a device account, the update
    * window will automatically apply to Play app updates as well.
    */
   SystemUpdate systemUpdate;
@@ -3434,6 +3369,9 @@
     if (_json.containsKey("frpAdminEmails")) {
       frpAdminEmails = _json["frpAdminEmails"];
     }
+    if (_json.containsKey("funDisabled")) {
+      funDisabled = _json["funDisabled"];
+    }
     if (_json.containsKey("installUnknownSourcesAllowed")) {
       installUnknownSourcesAllowed = _json["installUnknownSourcesAllowed"];
     }
@@ -3522,6 +3460,9 @@
     if (frpAdminEmails != null) {
       _json["frpAdminEmails"] = frpAdminEmails;
     }
+    if (funDisabled != null) {
+      _json["funDisabled"] = funDisabled;
+    }
     if (installUnknownSourcesAllowed != null) {
       _json["installUnknownSourcesAllowed"] = installUnknownSourcesAllowed;
     }
@@ -3582,9 +3523,7 @@
 
 /** A power management event. */
 class PowerManagementEvent {
-  /**
-   * For `BATTERY_LEVEL_COLLECTED` events, the battery level as a percentage.
-   */
+  /** For BATTERY_LEVEL_COLLECTED events, the battery level as a percentage. */
   core.double batteryLevel;
   /** The creation time of the event. */
   core.String createTime;
@@ -3635,15 +3574,13 @@
 /** An enterprise signup URL. */
 class SignupUrl {
   /**
-   * The name of the resource. This must be included in the
-   * [create
-   * enterprise](/android/management/reference/rest/v1/enterprises/create)
+   * The name of the resource. This must be included in the create enterprise
    * request at the end of the signup flow.
    */
   core.String name;
   /**
-   * A URL under which the Admin can sign up for an enterprise.
-   * The page pointed to cannot be rendered in an iframe.
+   * A URL under which the Admin can sign up for an enterprise. The page pointed
+   * to cannot be rendered in an iframe.
    */
   core.String url;
 
@@ -3673,19 +3610,19 @@
 /** Information about device software. */
 class SoftwareInfo {
   /**
-   * Android build Id string meant for displaying to the user,
-   * e.g. `shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys`.
+   * Android build Id string meant for displaying to the user, e.g.
+   * shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys.
    */
   core.String androidBuildNumber;
   /** Build time. */
   core.String androidBuildTime;
-  /** The user visible Android version string, e.g. `6.0.1`. */
+  /** The user visible Android version string, e.g. 6.0.1. */
   core.String androidVersion;
-  /** The system bootloader version number, e.g. `0.6.7`. */
+  /** The system bootloader version number, e.g. 0.6.7. */
   core.String bootloaderVersion;
-  /** Kernel version, e.g. `2.6.32.9-g103d848`. */
+  /** Kernel version, e.g. 2.6.32.9-g103d848. */
   core.String deviceKernelVersion;
-  /** Security patch level, e.g. `2016-05-01`. */
+  /** Security patch level, e.g. 2016-05-01. */
   core.String securityPatchLevel;
 
   SoftwareInfo();
@@ -3736,66 +3673,46 @@
 }
 
 /**
- * The `Status` type defines a logical error model that is suitable for
- * different
+ * 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). The error model is designed to be:
- *
- * - Simple to use and understand for most users
- * - Flexible enough to meet unexpected needs
- *
- * # Overview
- *
- * The `Status` message contains three pieces of data: error code, error
- * message,
- * and error details. The error code should be an enum value of
- * google.rpc.Code, but it may accept additional error codes if needed.  The
- * error message should be a developer-facing English message that helps
- * developers *understand* and *resolve* the error. If a localized user-facing
- * error message is needed, put the localized message in the error details or
- * localize it in the client. The optional error details may contain arbitrary
- * information about the error. There is a predefined set of error detail types
- * in the package `google.rpc` that can be used for common error conditions.
- *
- * # Language mapping
- *
- * The `Status` message is the logical representation of the error model, but it
- * is not necessarily the actual wire format. When the `Status` message is
- * exposed in different client libraries and different wire protocols, it can be
- * mapped differently. For example, it will likely be mapped to some exceptions
- * in Java, but more likely mapped to some error codes in C.
- *
- * # Other uses
- *
- * The error model and the `Status` message can be used in a variety of
- * environments, either with or without APIs, to provide a
- * consistent developer experience across different environments.
- *
- * Example uses of this error model include:
- *
- * - Partial errors. If a service needs to return partial errors to the client,
- *     it may embed the `Status` in the normal response to indicate the partial
- *     errors.
- *
- * - Workflow errors. A typical workflow has multiple steps. Each step may
- *     have a `Status` message for error reporting.
- *
- * - Batch operations. If a client uses batch request and batch response, the
- *     `Status` message should be used directly inside batch response, one for
- *     each error sub-response.
- *
- * - Asynchronous operations. If an API call embeds asynchronous operation
- *     results in its response, the status of those operations should be
- *     represented directly using the `Status` message.
- *
- * - Logging. If some API errors are stored in logs, the message `Status` could
- * be used directly after any stripping needed for security/privacy reasons.
+ * gRPC (https://github.com/grpc). The error model is designed to be:
+ * Simple to use and understand for most users
+ * Flexible enough to meet unexpected needsOverviewThe Status message contains
+ * three pieces of data: error code, error message, and error details. The error
+ * code should be an enum value of google.rpc.Code, but it may accept additional
+ * error codes if needed. The error message should be a developer-facing English
+ * message that helps developers understand and resolve the error. If a
+ * localized user-facing error message is needed, put the localized message in
+ * the error details or localize it in the client. The optional error details
+ * may contain arbitrary information about the error. There is a predefined set
+ * of error detail types in the package google.rpc that can be used for common
+ * error conditions.Language mappingThe Status message is the logical
+ * representation of the error model, but it is not necessarily the actual wire
+ * format. When the Status message is exposed in different client libraries and
+ * different wire protocols, it can be mapped differently. For example, it will
+ * likely be mapped to some exceptions in Java, but more likely mapped to some
+ * error codes in C.Other usesThe error model and the Status message can be used
+ * in a variety of environments, either with or without APIs, to provide a
+ * consistent developer experience across different environments.Example uses of
+ * this error model include:
+ * Partial errors. If a service needs to return partial errors to the client, it
+ * may embed the Status in the normal response to indicate the partial errors.
+ * Workflow errors. A typical workflow has multiple steps. Each step may have a
+ * Status message for error reporting.
+ * Batch operations. If a client uses batch request and batch response, the
+ * Status message should be used directly inside batch response, one for each
+ * error sub-response.
+ * Asynchronous operations. If an API call embeds asynchronous operation results
+ * in its response, the status of those operations should be represented
+ * directly using the Status message.
+ * Logging. If some API errors are stored in logs, the message Status could be
+ * used directly after any stripping needed for security/privacy reasons.
  */
 class Status {
   /** The status code, which should be an enum value of google.rpc.Code. */
   core.int code;
   /**
-   * A list of messages that carry the error details.  There is a common set of
+   * A list of messages that carry the error details. There is a common set of
    * message types for APIs to use.
    *
    * The values for Object must be JSON objects. It can consist of `num`,
@@ -3903,16 +3820,16 @@
 /** Configuration for managing system updates */
 class SystemUpdate {
   /**
-   * If the type is `WINDOWED`, the end of the maintenance window, measured as
-   * the number of minutes after midnight in device local time. This value must
-   * be between 0 and 1439, inclusive. If this value is less than
-   * `start_minutes`, then the maintenance window spans midnight. If the
-   * maintenance window specified is smaller than 30 minutes, the actual window
-   * is extended to 30 minutes beyond the start time.
+   * If the type is WINDOWED, the end of the maintenance window, measured as the
+   * number of minutes after midnight in device local time. This value must be
+   * between 0 and 1439, inclusive. If this value is less than start_minutes,
+   * then the maintenance window spans midnight. If the maintenance window
+   * specified is smaller than 30 minutes, the actual window is extended to 30
+   * minutes beyond the start time.
    */
   core.int endMinutes;
   /**
-   * If the type is `WINDOWED`, the start of the maintenance window, measured as
+   * If the type is WINDOWED, the start of the maintenance window, measured as
    * the number of minutes after midnight in device local time. This value must
    * be between 0 and 1439, inclusive.
    */
@@ -3921,15 +3838,13 @@
    * The type of system update to configure.
    * Possible string values are:
    * - "SYSTEM_UPDATE_TYPE_UNSPECIFIED" : Follow the default update behavior for
-   * the device, which typically
-   * requires the user to accept system updates.
+   * the device, which typically requires the user to accept system updates.
    * - "AUTOMATIC" : Install automatically as soon as an update is available.
    * - "WINDOWED" : Install automatically within a daily maintenance window. If
-   * the device
-   * has a device account, this also configures Play apps to be updated within
-   * the window. This is strongly recommended for kiosk devices because this
-   * is the only way apps persistently pinned to the foreground can be updated
-   * by Play.
+   * the device has a device account, this also configures Play apps to be
+   * updated within the window. This is strongly recommended for kiosk devices
+   * because this is the only way apps persistently pinned to the foreground can
+   * be updated by Play.
    * - "POSTPONE" : Postpone automatic install up to a maximum of 30 days.
    */
   core.String type;
@@ -3976,8 +3891,8 @@
    */
   core.String defaultMessage;
   /**
-   * A map which contains <locale, message> pairs.
-   * The locale is a BCP 47 language code, e.g. en-US, es-ES, fr.
+   * A map which contains <locale, message> pairs. The locale is a BCP 47
+   * language code, e.g. en-US, es-ES, fr.
    */
   core.Map<core.String, core.String> localizedMessages;
 
@@ -4008,8 +3923,7 @@
 class WebToken {
   /**
    * The name of the web token, which is generated by the server during
-   * creation, in the form
-   * `enterprises/{enterpriseId}/webTokens/{webTokenId}`.
+   * creation, in the form enterprises/{enterpriseId}/webTokens/{webTokenId}.
    */
   core.String name;
   /**
diff --git a/generated/googleapis/lib/androidpublisher/v2.dart b/generated/googleapis/lib/androidpublisher/v2.dart
index 07df54e..fdbe8e8 100644
--- a/generated/googleapis/lib/androidpublisher/v2.dart
+++ b/generated/googleapis/lib/androidpublisher/v2.dart
@@ -3142,7 +3142,9 @@
    * [endTime] - The time, in milliseconds since the Epoch, of the newest voided
    * in-app product purchase that you want to see in the response. The value of
    * this parameter cannot be greater than the current time and is ignored if a
-   * pagination token is set. Default value is current time.
+   * pagination token is set. Default value is current time. Note: This filter
+   * is applied on the time at which the record is seen as voided by our systems
+   * and not the actual voided time returned in the response.
    *
    * [maxResults] - null
    *
@@ -3151,7 +3153,9 @@
    * [startTime] - The time, in milliseconds since the Epoch, of the oldest
    * voided in-app product purchase that you want to see in the response. The
    * value of this parameter cannot be older than 30 days and is ignored if a
-   * pagination token is set. Default value is current time minus 30 days.
+   * pagination token is set. Default value is current time minus 30 days. Note:
+   * This filter is applied on the time at which the record is seen as voided by
+   * our systems and not the actual voided time returned in the response.
    *
    * [token] - null
    *
@@ -3411,6 +3415,11 @@
    * output of the sha1sum command.
    */
   core.String sha1;
+  /**
+   * A sha256 hash of the APK payload, encoded as a hex string and matching the
+   * output of the sha256sum command.
+   */
+  core.String sha256;
 
   ApkBinary();
 
@@ -3418,6 +3427,9 @@
     if (_json.containsKey("sha1")) {
       sha1 = _json["sha1"];
     }
+    if (_json.containsKey("sha256")) {
+      sha256 = _json["sha256"];
+    }
   }
 
   core.Map<core.String, core.Object> toJson() {
@@ -3425,6 +3437,9 @@
     if (sha1 != null) {
       _json["sha1"] = sha1;
     }
+    if (sha256 != null) {
+      _json["sha256"] = sha256;
+    }
     return _json;
   }
 }
@@ -4872,6 +4887,8 @@
    * service.
    */
   core.String kind;
+  /** The order id associated with the purchase of the inapp product. */
+  core.String orderId;
   /**
    * The purchase state of the order. Possible values are:
    * - Purchased
@@ -4896,6 +4913,9 @@
     if (_json.containsKey("kind")) {
       kind = _json["kind"];
     }
+    if (_json.containsKey("orderId")) {
+      orderId = _json["orderId"];
+    }
     if (_json.containsKey("purchaseState")) {
       purchaseState = _json["purchaseState"];
     }
@@ -4915,6 +4935,9 @@
     if (kind != null) {
       _json["kind"] = kind;
     }
+    if (orderId != null) {
+      _json["orderId"] = orderId;
+    }
     if (purchaseState != null) {
       _json["purchaseState"] = purchaseState;
     }
@@ -5225,9 +5248,15 @@
    */
   core.String kind;
   /**
+   * The order id of the latest recurring order associated with the purchase of
+   * the subscription.
+   */
+  core.String orderId;
+  /**
    * The payment state of the subscription. Possible values are:
    * - Payment pending
    * - Payment received
+   * - Free trial
    */
   core.int paymentState;
   /**
@@ -5275,6 +5304,9 @@
     if (_json.containsKey("kind")) {
       kind = _json["kind"];
     }
+    if (_json.containsKey("orderId")) {
+      orderId = _json["orderId"];
+    }
     if (_json.containsKey("paymentState")) {
       paymentState = _json["paymentState"];
     }
@@ -5312,6 +5344,9 @@
     if (kind != null) {
       _json["kind"] = kind;
     }
+    if (orderId != null) {
+      _json["orderId"] = orderId;
+    }
     if (paymentState != null) {
       _json["paymentState"] = paymentState;
     }
diff --git a/generated/googleapis/lib/appengine/v1.dart b/generated/googleapis/lib/appengine/v1.dart
index a5fcc69..590e9ce 100644
--- a/generated/googleapis/lib/appengine/v1.dart
+++ b/generated/googleapis/lib/appengine/v1.dart
@@ -296,12 +296,12 @@
    * [appsId] - Part of `name`. The resource that owns the locations collection,
    * if applicable.
    *
+   * [pageSize] - The standard list page size.
+   *
    * [filter] - The standard list filter.
    *
    * [pageToken] - The standard list page token.
    *
-   * [pageSize] - The standard list page size.
-   *
    * Completes with a [ListLocationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -310,7 +310,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListLocationsResponse> list(core.String appsId, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListLocationsResponse> list(core.String appsId, {core.int pageSize, core.String filter, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -321,15 +321,15 @@
     if (appsId == null) {
       throw new core.ArgumentError("Parameter appsId is required.");
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
 
     _url = 'v1/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/locations';
 
@@ -413,12 +413,12 @@
    *
    * [appsId] - Part of `name`. The name of the operation's parent resource.
    *
+   * [filter] - The standard list filter.
+   *
    * [pageToken] - The standard list page token.
    *
    * [pageSize] - The standard list page size.
    *
-   * [filter] - The standard list filter.
-   *
    * Completes with a [ListOperationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -427,7 +427,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListOperationsResponse> list(core.String appsId, {core.String pageToken, core.int pageSize, core.String filter}) {
+  async.Future<ListOperationsResponse> list(core.String appsId, {core.String filter, core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -438,15 +438,15 @@
     if (appsId == null) {
       throw new core.ArgumentError("Parameter appsId is required.");
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
 
     _url = 'v1/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/operations';
 
@@ -623,8 +623,6 @@
    *
    * [servicesId] - Part of `name`. See documentation of `appsId`.
    *
-   * [updateMask] - Standard field mask for the set of fields to be updated.
-   *
    * [migrateTraffic] - Set to true to gradually shift traffic to one or more
    * versions that you specify. By default, traffic is shifted immediately. For
    * gradual traffic migration, the target versions must be located within
@@ -639,6 +637,8 @@
    * Splitting Traffic
    * (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
    *
+   * [updateMask] - Standard field mask for the set of fields to be updated.
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -647,7 +647,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(Service request, core.String appsId, core.String servicesId, {core.String updateMask, core.bool migrateTraffic}) {
+  async.Future<Operation> patch(Service request, core.String appsId, core.String servicesId, {core.bool migrateTraffic, core.String updateMask}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -664,12 +664,12 @@
     if (servicesId == null) {
       throw new core.ArgumentError("Parameter servicesId is required.");
     }
-    if (updateMask != null) {
-      _queryParams["updateMask"] = [updateMask];
-    }
     if (migrateTraffic != null) {
       _queryParams["migrateTraffic"] = ["${migrateTraffic}"];
     }
+    if (updateMask != null) {
+      _queryParams["updateMask"] = [updateMask];
+    }
 
     _url = 'v1/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/services/' + commons.Escaper.ecapeVariable('$servicesId');
 
@@ -1191,10 +1191,10 @@
    *
    * [versionsId] - Part of `parent`. See documentation of `appsId`.
    *
-   * [pageSize] - Maximum results to return per page.
-   *
    * [pageToken] - Continuation token for fetching the next page of results.
    *
+   * [pageSize] - Maximum results to return per page.
+   *
    * Completes with a [ListInstancesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1203,7 +1203,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListInstancesResponse> list(core.String appsId, core.String servicesId, core.String versionsId, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListInstancesResponse> list(core.String appsId, core.String servicesId, core.String versionsId, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1220,12 +1220,12 @@
     if (versionsId == null) {
       throw new core.ArgumentError("Parameter versionsId is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v1/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/services/' + commons.Escaper.ecapeVariable('$servicesId') + '/versions/' + commons.Escaper.ecapeVariable('$versionsId') + '/instances';
 
@@ -2706,17 +2706,24 @@
   }
 }
 
-/** Extra network settings. Only applicable for VM runtimes. */
+/**
+ * Extra network settings. Only applicable for App Engine flexible environment
+ * versions
+ */
 class Network {
   /**
    * List of ports, or port pairs, to forward from the virtual machine to the
-   * application container.
+   * application container. Only applicable for App Engine flexible environment
+   * versions.
    */
   core.List<core.String> forwardedPorts;
-  /** Tag to apply to the VM instance during creation. */
+  /**
+   * Tag to apply to the VM instance during creation. Only applicable for for
+   * App Engine flexible environment versions.
+   */
   core.String instanceTag;
   /**
-   * Google Cloud Platform network where the virtual machines are created.
+   * Google Compute Engine network where the virtual machines are created.
    * Specify the short name, not the resource path.Defaults to default.
    */
   core.String name;
@@ -2734,7 +2741,8 @@
    * If the network the VM instance is being created in is a custom Subnet Mode
    * Network, then the subnetwork_name must be specified and the IP address is
    * created from the IPCidrRange of the subnetwork.If specified, the subnetwork
-   * must exist in the same region as the Flex app.
+   * must exist in the same region as the App Engine flexible environment
+   * application.
    */
   core.String subnetworkName;
 
@@ -4118,7 +4126,10 @@
    * apps/myapp/services/default/versions/v1.@OutputOnly
    */
   core.String name;
-  /** Extra network settings. Only applicable for VM runtimes. */
+  /**
+   * Extra network settings. Only applicable for App Engine flexible environment
+   * versions.
+   */
   Network network;
   /**
    * Files that match this pattern will not be built into this version. Only
diff --git a/generated/googleapis/lib/bigquery/v2.dart b/generated/googleapis/lib/bigquery/v2.dart
index 332dcec..11c817e 100644
--- a/generated/googleapis/lib/bigquery/v2.dart
+++ b/generated/googleapis/lib/bigquery/v2.dart
@@ -2007,6 +2007,10 @@
 }
 
 class ExplainQueryStage {
+  /** Milliseconds the average shard spent on CPU-bound tasks. */
+  core.String computeMsAvg;
+  /** Milliseconds the slowest shard spent on CPU-bound tasks. */
+  core.String computeMsMax;
   /** Relative amount of time the average shard spent on CPU-bound tasks. */
   core.double computeRatioAvg;
   /** Relative amount of time the slowest shard spent on CPU-bound tasks. */
@@ -2015,6 +2019,10 @@
   core.String id;
   /** Human-readable name for stage. */
   core.String name;
+  /** Milliseconds the average shard spent reading input. */
+  core.String readMsAvg;
+  /** Milliseconds the slowest shard spent reading input. */
+  core.String readMsMax;
   /** Relative amount of time the average shard spent reading input. */
   core.double readRatioAvg;
   /** Relative amount of time the slowest shard spent reading input. */
@@ -2023,6 +2031,10 @@
   core.String recordsRead;
   /** Number of records written by the stage. */
   core.String recordsWritten;
+  /** Total number of bytes written to shuffle. */
+  core.String shuffleOutputBytes;
+  /** Total number of bytes written to shuffle and spilled to disk. */
+  core.String shuffleOutputBytesSpilled;
   /** Current status for the stage. */
   core.String status;
   /**
@@ -2030,6 +2042,10 @@
    * chronological).
    */
   core.List<ExplainQueryStep> steps;
+  /** Milliseconds the average shard spent waiting to be scheduled. */
+  core.String waitMsAvg;
+  /** Milliseconds the slowest shard spent waiting to be scheduled. */
+  core.String waitMsMax;
   /**
    * Relative amount of time the average shard spent waiting to be scheduled.
    */
@@ -2038,6 +2054,10 @@
    * Relative amount of time the slowest shard spent waiting to be scheduled.
    */
   core.double waitRatioMax;
+  /** Milliseconds the average shard spent on writing output. */
+  core.String writeMsAvg;
+  /** Milliseconds the slowest shard spent on writing output. */
+  core.String writeMsMax;
   /** Relative amount of time the average shard spent on writing output. */
   core.double writeRatioAvg;
   /** Relative amount of time the slowest shard spent on writing output. */
@@ -2046,6 +2066,12 @@
   ExplainQueryStage();
 
   ExplainQueryStage.fromJson(core.Map _json) {
+    if (_json.containsKey("computeMsAvg")) {
+      computeMsAvg = _json["computeMsAvg"];
+    }
+    if (_json.containsKey("computeMsMax")) {
+      computeMsMax = _json["computeMsMax"];
+    }
     if (_json.containsKey("computeRatioAvg")) {
       computeRatioAvg = _json["computeRatioAvg"];
     }
@@ -2058,6 +2084,12 @@
     if (_json.containsKey("name")) {
       name = _json["name"];
     }
+    if (_json.containsKey("readMsAvg")) {
+      readMsAvg = _json["readMsAvg"];
+    }
+    if (_json.containsKey("readMsMax")) {
+      readMsMax = _json["readMsMax"];
+    }
     if (_json.containsKey("readRatioAvg")) {
       readRatioAvg = _json["readRatioAvg"];
     }
@@ -2070,18 +2102,36 @@
     if (_json.containsKey("recordsWritten")) {
       recordsWritten = _json["recordsWritten"];
     }
+    if (_json.containsKey("shuffleOutputBytes")) {
+      shuffleOutputBytes = _json["shuffleOutputBytes"];
+    }
+    if (_json.containsKey("shuffleOutputBytesSpilled")) {
+      shuffleOutputBytesSpilled = _json["shuffleOutputBytesSpilled"];
+    }
     if (_json.containsKey("status")) {
       status = _json["status"];
     }
     if (_json.containsKey("steps")) {
       steps = _json["steps"].map((value) => new ExplainQueryStep.fromJson(value)).toList();
     }
+    if (_json.containsKey("waitMsAvg")) {
+      waitMsAvg = _json["waitMsAvg"];
+    }
+    if (_json.containsKey("waitMsMax")) {
+      waitMsMax = _json["waitMsMax"];
+    }
     if (_json.containsKey("waitRatioAvg")) {
       waitRatioAvg = _json["waitRatioAvg"];
     }
     if (_json.containsKey("waitRatioMax")) {
       waitRatioMax = _json["waitRatioMax"];
     }
+    if (_json.containsKey("writeMsAvg")) {
+      writeMsAvg = _json["writeMsAvg"];
+    }
+    if (_json.containsKey("writeMsMax")) {
+      writeMsMax = _json["writeMsMax"];
+    }
     if (_json.containsKey("writeRatioAvg")) {
       writeRatioAvg = _json["writeRatioAvg"];
     }
@@ -2092,6 +2142,12 @@
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (computeMsAvg != null) {
+      _json["computeMsAvg"] = computeMsAvg;
+    }
+    if (computeMsMax != null) {
+      _json["computeMsMax"] = computeMsMax;
+    }
     if (computeRatioAvg != null) {
       _json["computeRatioAvg"] = computeRatioAvg;
     }
@@ -2104,6 +2160,12 @@
     if (name != null) {
       _json["name"] = name;
     }
+    if (readMsAvg != null) {
+      _json["readMsAvg"] = readMsAvg;
+    }
+    if (readMsMax != null) {
+      _json["readMsMax"] = readMsMax;
+    }
     if (readRatioAvg != null) {
       _json["readRatioAvg"] = readRatioAvg;
     }
@@ -2116,18 +2178,36 @@
     if (recordsWritten != null) {
       _json["recordsWritten"] = recordsWritten;
     }
+    if (shuffleOutputBytes != null) {
+      _json["shuffleOutputBytes"] = shuffleOutputBytes;
+    }
+    if (shuffleOutputBytesSpilled != null) {
+      _json["shuffleOutputBytesSpilled"] = shuffleOutputBytesSpilled;
+    }
     if (status != null) {
       _json["status"] = status;
     }
     if (steps != null) {
       _json["steps"] = steps.map((value) => (value).toJson()).toList();
     }
+    if (waitMsAvg != null) {
+      _json["waitMsAvg"] = waitMsAvg;
+    }
+    if (waitMsMax != null) {
+      _json["waitMsMax"] = waitMsMax;
+    }
     if (waitRatioAvg != null) {
       _json["waitRatioAvg"] = waitRatioAvg;
     }
     if (waitRatioMax != null) {
       _json["waitRatioMax"] = waitRatioMax;
     }
+    if (writeMsAvg != null) {
+      _json["writeMsAvg"] = writeMsAvg;
+    }
+    if (writeMsMax != null) {
+      _json["writeMsMax"] = writeMsMax;
+    }
     if (writeRatioAvg != null) {
       _json["writeRatioAvg"] = writeRatioAvg;
     }
@@ -2226,8 +2306,8 @@
    * load jobs apply to external data sources. For Google Cloud Bigtable URIs:
    * Exactly one URI can be specified and it has be a fully specified and valid
    * HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore
-   * backups, exactly one URI can be specified, and it must end with
-   * '.backup_info'. Also, the '*' wildcard character is not allowed.
+   * backups, exactly one URI can be specified. Also, the '*' wildcard character
+   * is not allowed.
    */
   core.List<core.String> sourceUris;
 
@@ -2864,8 +2944,9 @@
   core.String schemaInlineFormat;
   /**
    * [Experimental] Allows the schema of the desitination table to be updated as
-   * a side effect of the load job. Schema update options are supported in two
-   * cases: when writeDisposition is WRITE_APPEND; when writeDisposition is
+   * a side effect of the load job if a schema is autodetected or supplied in
+   * the job configuration. Schema update options are supported in two cases:
+   * when writeDisposition is WRITE_APPEND; when writeDisposition is
    * WRITE_TRUNCATE and the destination table is a partition of a table,
    * specified by partition decorators. For normal tables, WRITE_TRUNCATE will
    * always overwrite the schema. One or more of the following values are
@@ -2894,11 +2975,16 @@
    * load jobs apply to external data sources. For Google Cloud Bigtable URIs:
    * Exactly one URI can be specified and it has be a fully specified and valid
    * HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore
-   * backups: Exactly one URI can be specified, and it must end with
-   * '.backup_info'. Also, the '*' wildcard character is not allowed.
+   * backups: Exactly one URI can be specified. Also, the '*' wildcard character
+   * is not allowed.
    */
   core.List<core.String> sourceUris;
   /**
+   * [Experimental] If specified, configures time-based partitioning for the
+   * destination table.
+   */
+  TimePartitioning timePartitioning;
+  /**
    * [Optional] Specifies the action that occurs if the destination table
    * already exists. The following values are supported: WRITE_TRUNCATE: If the
    * table already exists, BigQuery overwrites the table data. WRITE_APPEND: If
@@ -2971,6 +3057,9 @@
     if (_json.containsKey("sourceUris")) {
       sourceUris = _json["sourceUris"];
     }
+    if (_json.containsKey("timePartitioning")) {
+      timePartitioning = new TimePartitioning.fromJson(_json["timePartitioning"]);
+    }
     if (_json.containsKey("writeDisposition")) {
       writeDisposition = _json["writeDisposition"];
     }
@@ -3035,6 +3124,9 @@
     if (sourceUris != null) {
       _json["sourceUris"] = sourceUris;
     }
+    if (timePartitioning != null) {
+      _json["timePartitioning"] = (timePartitioning).toJson();
+    }
     if (writeDisposition != null) {
       _json["writeDisposition"] = writeDisposition;
     }
@@ -3131,6 +3223,11 @@
    */
   core.Map<core.String, ExternalDataConfiguration> tableDefinitions;
   /**
+   * [Experimental] If specified, configures time-based partitioning for the
+   * destination table.
+   */
+  TimePartitioning timePartitioning;
+  /**
    * Specifies whether to use BigQuery's legacy SQL dialect for this query. The
    * default value is true. If set to false, the query will use BigQuery's
    * standard SQL: https://cloud.google.com/bigquery/sql-reference/ When
@@ -3207,6 +3304,9 @@
     if (_json.containsKey("tableDefinitions")) {
       tableDefinitions = commons.mapMap<core.Map<core.String, core.Object>, ExternalDataConfiguration>(_json["tableDefinitions"], (core.Map<core.String, core.Object> item) => new ExternalDataConfiguration.fromJson(item));
     }
+    if (_json.containsKey("timePartitioning")) {
+      timePartitioning = new TimePartitioning.fromJson(_json["timePartitioning"]);
+    }
     if (_json.containsKey("useLegacySql")) {
       useLegacySql = _json["useLegacySql"];
     }
@@ -3265,6 +3365,9 @@
     if (tableDefinitions != null) {
       _json["tableDefinitions"] = commons.mapMap<ExternalDataConfiguration, core.Map<core.String, core.Object>>(tableDefinitions, (ExternalDataConfiguration item) => (item).toJson());
     }
+    if (timePartitioning != null) {
+      _json["timePartitioning"] = (timePartitioning).toJson();
+    }
     if (useLegacySql != null) {
       _json["useLegacySql"] = useLegacySql;
     }
diff --git a/generated/googleapis/lib/bigquerydatatransfer/v1.dart b/generated/googleapis/lib/bigquerydatatransfer/v1.dart
index e1d74f9..49e228f 100644
--- a/generated/googleapis/lib/bigquerydatatransfer/v1.dart
+++ b/generated/googleapis/lib/bigquerydatatransfer/v1.dart
@@ -314,6 +314,46 @@
       _requester = client;
 
   /**
+   * Get information about a location.
+   *
+   * Request parameters:
+   *
+   * [name] - Resource name for the location.
+   * Value must have pattern "^projects/[^/]+/locations/[^/]+$".
+   *
+   * Completes with a [Location].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<Location> get(core.String name) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (name == null) {
+      throw new core.ArgumentError("Parameter name is required.");
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new Location.fromJson(data));
+  }
+
+  /**
    * Returns true if data transfer is enabled for a project.
    *
    * [request] - The metadata request object.
@@ -360,6 +400,61 @@
   }
 
   /**
+   * Lists information about the supported locations for this service.
+   *
+   * Request parameters:
+   *
+   * [name] - The resource that owns the locations collection, if applicable.
+   * Value must have pattern "^projects/[^/]+$".
+   *
+   * [filter] - The standard list filter.
+   *
+   * [pageToken] - The standard list page token.
+   *
+   * [pageSize] - The standard list page size.
+   *
+   * Completes with a [ListLocationsResponse].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<ListLocationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (name == null) {
+      throw new core.ArgumentError("Parameter name is required.");
+    }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/locations';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new ListLocationsResponse.fromJson(data));
+  }
+
+  /**
    * Enables or disables data transfer for a project. This
    * method requires the additional scope of
    * 'https://www.googleapis.com/auth/cloudplatformprojects'
@@ -520,6 +615,9 @@
    * Must be in the form: `projects/{project_id}`
    * Value must have pattern "^projects/[^/]+/locations/[^/]+$".
    *
+   * [pageSize] - Page size. The default page size is the maximum value of 1000
+   * results.
+   *
    * [pageToken] - Pagination token, which can be used to request a specific
    * page
    * of `ListDataSourcesRequest` list results. For multiple-page
@@ -527,9 +625,6 @@
    * a `next_page` token, which can be used as the
    * `page_token` value to request the next page of list results.
    *
-   * [pageSize] - Page size. The default page size is the maximum value of 1000
-   * results.
-   *
    * Completes with a [ListDataSourcesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -538,7 +633,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListDataSourcesResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
+  async.Future<ListDataSourcesResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -549,12 +644,12 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/dataSources';
 
@@ -817,8 +912,6 @@
    * Value must have pattern
    * "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$".
    *
-   * [updateMask] - Required list of fields to be updated in this request.
-   *
    * [authorizationCode] - Optional OAuth2 authorization code to use with this
    * transfer configuration.
    * If it is provided, the transfer configuration will be associated with the
@@ -837,6 +930,8 @@
    *   returned in the title bar of the browser, with the page text prompting
    *   the user to copy the code and paste it in the application.
    *
+   * [updateMask] - Required list of fields to be updated in this request.
+   *
    * Completes with a [TransferConfig].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -845,7 +940,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<TransferConfig> patch(TransferConfig request, core.String name, {core.String updateMask, core.String authorizationCode}) {
+  async.Future<TransferConfig> patch(TransferConfig request, core.String name, {core.String authorizationCode, core.String updateMask}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -859,12 +954,12 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
-    if (updateMask != null) {
-      _queryParams["updateMask"] = [updateMask];
-    }
     if (authorizationCode != null) {
       _queryParams["authorizationCode"] = [authorizationCode];
     }
+    if (updateMask != null) {
+      _queryParams["updateMask"] = [updateMask];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
 
@@ -1350,12 +1445,6 @@
    * should be returned: `projects/{project_id}`.
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [pageSize] - Page size. The default page size is the maximum value of 1000
-   * results.
-   *
-   * [dataSourceIds] - When specified, only configurations of requested data
-   * sources are returned.
-   *
    * [pageToken] - Pagination token, which can be used to request a specific
    * page
    * of `ListTransfersRequest` list results. For multiple-page
@@ -1363,6 +1452,12 @@
    * a `next_page` token, which can be used as the
    * `page_token` value to request the next page of list results.
    *
+   * [pageSize] - Page size. The default page size is the maximum value of 1000
+   * results.
+   *
+   * [dataSourceIds] - When specified, only configurations of requested data
+   * sources are returned.
+   *
    * Completes with a [ListTransferConfigsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1371,7 +1466,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListTransferConfigsResponse> list(core.String parent, {core.int pageSize, core.List<core.String> dataSourceIds, core.String pageToken}) {
+  async.Future<ListTransferConfigsResponse> list(core.String parent, {core.String pageToken, core.int pageSize, core.List<core.String> dataSourceIds}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1382,15 +1477,15 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
     if (dataSourceIds != null) {
       _queryParams["dataSourceIds"] = dataSourceIds;
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/transferConfigs';
 
@@ -2294,6 +2389,36 @@
   }
 }
 
+/** The response message for Locations.ListLocations. */
+class ListLocationsResponse {
+  /** A list of locations that matches the specified filter in the request. */
+  core.List<Location> locations;
+  /** The standard List next-page token. */
+  core.String nextPageToken;
+
+  ListLocationsResponse();
+
+  ListLocationsResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("locations")) {
+      locations = _json["locations"].map((value) => new Location.fromJson(value)).toList();
+    }
+    if (_json.containsKey("nextPageToken")) {
+      nextPageToken = _json["nextPageToken"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (locations != null) {
+      _json["locations"] = locations.map((value) => (value).toJson()).toList();
+    }
+    if (nextPageToken != null) {
+      _json["nextPageToken"] = nextPageToken;
+    }
+    return _json;
+  }
+}
+
 /** The returned list of pipelines in the project. */
 class ListTransferConfigsResponse {
   /**
@@ -2411,6 +2536,65 @@
   }
 }
 
+/** A resource that represents Google Cloud Platform location. */
+class Location {
+  /**
+   * Cross-service attributes for the location. For example
+   *
+   *     {"cloud.googleapis.com/region": "us-east1"}
+   */
+  core.Map<core.String, core.String> labels;
+  /** The canonical id for this location. For example: `"us-east1"`. */
+  core.String locationId;
+  /**
+   * Service-specific metadata. For example the available capacity at the given
+   * location.
+   *
+   * The values for Object must be JSON objects. It can consist of `num`,
+   * `String`, `bool` and `null` as well as `Map` and `List` values.
+   */
+  core.Map<core.String, core.Object> metadata;
+  /**
+   * Resource name for the location, which may vary between implementations.
+   * For example: `"projects/example-project/locations/us-east1"`
+   */
+  core.String name;
+
+  Location();
+
+  Location.fromJson(core.Map _json) {
+    if (_json.containsKey("labels")) {
+      labels = _json["labels"];
+    }
+    if (_json.containsKey("locationId")) {
+      locationId = _json["locationId"];
+    }
+    if (_json.containsKey("metadata")) {
+      metadata = _json["metadata"];
+    }
+    if (_json.containsKey("name")) {
+      name = _json["name"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (labels != null) {
+      _json["labels"] = labels;
+    }
+    if (locationId != null) {
+      _json["locationId"] = locationId;
+    }
+    if (metadata != null) {
+      _json["metadata"] = metadata;
+    }
+    if (name != null) {
+      _json["name"] = name;
+    }
+    return _json;
+  }
+}
+
 /** A request to schedule transfer runs for a time range. */
 class ScheduleTransferRunsRequest {
   /** End time of the range of transfer runs. */
@@ -2544,15 +2728,18 @@
    */
   core.Map<core.String, core.Object> params;
   /**
-   * Data transfer schedule in GROC format.
+   * Data transfer schedule.
    * If the data source does not support a custom schedule, this should be
    * empty. If it is empty, the default value for the data source will be
    * used.
    * The specified times are in UTC.
-   * Examples of valid GROC include:
+   * Examples of valid format:
    * `1st,3rd monday of month 15:30`,
    * `every wed,fri of jan,jun 13:15`, and
    * `first sunday of quarter 00:00`.
+   * See more explanation about the format here:
+   * https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format
+   * NOTE: the granularity should be at least 8 hours, or less frequent.
    */
   core.String schedule;
   /**
diff --git a/generated/googleapis/lib/classroom/v1.dart b/generated/googleapis/lib/classroom/v1.dart
index 49bbcea..73350f6 100644
--- a/generated/googleapis/lib/classroom/v1.dart
+++ b/generated/googleapis/lib/classroom/v1.dart
@@ -244,7 +244,8 @@
 
   /**
    * Returns a list of courses that the requesting user is permitted to view,
-   * restricted to those that match the request.
+   * restricted to those that match the request. Returned courses are ordered by
+   * creation time, with the most recently created coming first.
    *
    * This method returns the following error codes:
    *
@@ -254,12 +255,6 @@
    *
    * Request parameters:
    *
-   * [pageSize] - Maximum number of items to return. Zero or unspecified
-   * indicates that the
-   * server may assign a maximum.
-   *
-   * The server may return fewer than the specified number of results.
-   *
    * [courseStates] - Restricts returned courses to those in one of the
    * specified states
    * The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.
@@ -288,6 +283,12 @@
    * The list request must be
    * otherwise identical to the one that resulted in this token.
    *
+   * [pageSize] - Maximum number of items to return. Zero or unspecified
+   * indicates that the
+   * server may assign a maximum.
+   *
+   * The server may return fewer than the specified number of results.
+   *
    * Completes with a [ListCoursesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -296,7 +297,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListCoursesResponse> list({core.int pageSize, core.List<core.String> courseStates, core.String teacherId, core.String studentId, core.String pageToken}) {
+  async.Future<ListCoursesResponse> list({core.List<core.String> courseStates, core.String teacherId, core.String studentId, core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -304,9 +305,6 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (courseStates != null) {
       _queryParams["courseStates"] = courseStates;
     }
@@ -319,6 +317,9 @@
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v1/courses';
 
@@ -363,6 +364,11 @@
    * * `description`
    * * `room`
    * * `courseState`
+   * * `ownerId`
+   *
+   * Note: patches to ownerId are treated as being effective immediately, but in
+   * practice it may take some time for the ownership transfer of all affected
+   * resources to complete.
    *
    * When set in a query parameter, this field should be specified as
    *
@@ -854,17 +860,6 @@
    * This identifier can be either the Classroom-assigned identifier or an
    * alias.
    *
-   * [pageSize] - Maximum number of items to return. Zero or unspecified
-   * indicates that the
-   * server may assign a maximum.
-   *
-   * The server may return fewer than the specified number of results.
-   *
-   * [courseWorkStates] - Restriction on the work status to return. Only
-   * courseWork that matches
-   * is returned. If unspecified, items with a work status of `PUBLISHED`
-   * is returned.
-   *
    * [pageToken] - nextPageToken
    * value returned from a previous
    * list call,
@@ -880,6 +875,17 @@
    * If not specified, `updateTime desc` is the default behavior.
    * Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`
    *
+   * [pageSize] - Maximum number of items to return. Zero or unspecified
+   * indicates that the
+   * server may assign a maximum.
+   *
+   * The server may return fewer than the specified number of results.
+   *
+   * [courseWorkStates] - Restriction on the work status to return. Only
+   * courseWork that matches
+   * is returned. If unspecified, items with a work status of `PUBLISHED`
+   * is returned.
+   *
    * Completes with a [ListCourseWorkResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -888,7 +894,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListCourseWorkResponse> list(core.String courseId, {core.int pageSize, core.List<core.String> courseWorkStates, core.String pageToken, core.String orderBy}) {
+  async.Future<ListCourseWorkResponse> list(core.String courseId, {core.String pageToken, core.String orderBy, core.int pageSize, core.List<core.String> courseWorkStates}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -899,18 +905,18 @@
     if (courseId == null) {
       throw new core.ArgumentError("Parameter courseId is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
-    if (courseWorkStates != null) {
-      _queryParams["courseWorkStates"] = courseWorkStates;
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (orderBy != null) {
       _queryParams["orderBy"] = [orderBy];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
+    if (courseWorkStates != null) {
+      _queryParams["courseWorkStates"] = courseWorkStates;
+    }
 
     _url = 'v1/courses/' + commons.Escaper.ecapeVariable('$courseId') + '/courseWork';
 
@@ -1105,7 +1111,7 @@
    * This identifier can be either the Classroom-assigned identifier or an
    * alias.
    *
-   * [courseWorkId] - Identifer of the student work to request.
+   * [courseWorkId] - Identifier of the student work to request.
    * This may be set to the string literal `"-"` to request student work for
    * all course work in the specified course.
    *
@@ -1790,10 +1796,6 @@
    * This identifier can be either the Classroom-assigned identifier or an
    * alias.
    *
-   * [pageSize] - Maximum number of items to return. Zero means no maximum.
-   *
-   * The server may return fewer than the specified number of results.
-   *
    * [pageToken] - nextPageToken
    * value returned from a previous
    * list call, indicating that
@@ -1802,6 +1804,10 @@
    * The list request must be
    * otherwise identical to the one that resulted in this token.
    *
+   * [pageSize] - Maximum number of items to return. Zero means no maximum.
+   *
+   * The server may return fewer than the specified number of results.
+   *
    * Completes with a [ListStudentsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1810,7 +1816,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListStudentsResponse> list(core.String courseId, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListStudentsResponse> list(core.String courseId, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1821,12 +1827,12 @@
     if (courseId == null) {
       throw new core.ArgumentError("Parameter courseId is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v1/courses/' + commons.Escaper.ecapeVariable('$courseId') + '/students';
 
@@ -2608,14 +2614,6 @@
    *   all students that the requesting user is permitted to view guardian
    *   invitations.
    *
-   * [pageToken] - nextPageToken
-   * value returned from a previous
-   * list call,
-   * indicating that the subsequent page of results should be returned.
-   *
-   * The list request
-   * must be otherwise identical to the one that resulted in this token.
-   *
    * [pageSize] - Maximum number of items to return. Zero or unspecified
    * indicates that the
    * server may assign a maximum.
@@ -2630,6 +2628,14 @@
    * `invited_email_address`
    * will be returned.
    *
+   * [pageToken] - nextPageToken
+   * value returned from a previous
+   * list call,
+   * indicating that the subsequent page of results should be returned.
+   *
+   * The list request
+   * must be otherwise identical to the one that resulted in this token.
+   *
    * Completes with a [ListGuardianInvitationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2638,7 +2644,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListGuardianInvitationsResponse> list(core.String studentId, {core.String pageToken, core.int pageSize, core.List<core.String> states, core.String invitedEmailAddress}) {
+  async.Future<ListGuardianInvitationsResponse> list(core.String studentId, {core.int pageSize, core.List<core.String> states, core.String invitedEmailAddress, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2649,9 +2655,6 @@
     if (studentId == null) {
       throw new core.ArgumentError("Parameter studentId is required.");
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
@@ -2661,6 +2664,9 @@
     if (invitedEmailAddress != null) {
       _queryParams["invitedEmailAddress"] = [invitedEmailAddress];
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
 
     _url = 'v1/userProfiles/' + commons.Escaper.ecapeVariable('$studentId') + '/guardianInvitations';
 
@@ -3221,8 +3227,9 @@
    * * the email address of the user
    * * the string literal `"me"`, indicating the requesting user
    *
-   * This must be set in a create request. Specifying this field in a course
-   * update mask results in an `INVALID_ARGUMENT` error.
+   * This must be set in a create request. Admins can also specify this field
+   * in a patch course request to
+   * transfer ownership. In other contexts, it is read-only.
    */
   core.String ownerId;
   /**
@@ -4035,6 +4042,75 @@
   }
 }
 
+/** The history of each grade on this submission. */
+class GradeHistory {
+  /** The teacher who made the grade change. */
+  core.String actorUserId;
+  /**
+   * The type of grade change at this time in the submission grade history.
+   * Possible string values are:
+   * - "UNKNOWN_GRADE_CHANGE_TYPE" : No grade change type specified. This should
+   * never be returned.
+   * - "DRAFT_GRADE_POINTS_EARNED_CHANGE" : A change in the numerator of the
+   * draft grade.
+   * - "ASSIGNED_GRADE_POINTS_EARNED_CHANGE" : A change in the numerator of the
+   * assigned grade.
+   * - "MAX_POINTS_CHANGE" : A change in the denominator of the grade.
+   */
+  core.String gradeChangeType;
+  /** When the grade of the submission was changed. */
+  core.String gradeTimestamp;
+  /**
+   * The denominator of the grade at this time in the submission grade
+   * history.
+   */
+  core.double maxPoints;
+  /**
+   * The numerator of the grade at this time in the submission grade history.
+   */
+  core.double pointsEarned;
+
+  GradeHistory();
+
+  GradeHistory.fromJson(core.Map _json) {
+    if (_json.containsKey("actorUserId")) {
+      actorUserId = _json["actorUserId"];
+    }
+    if (_json.containsKey("gradeChangeType")) {
+      gradeChangeType = _json["gradeChangeType"];
+    }
+    if (_json.containsKey("gradeTimestamp")) {
+      gradeTimestamp = _json["gradeTimestamp"];
+    }
+    if (_json.containsKey("maxPoints")) {
+      maxPoints = _json["maxPoints"];
+    }
+    if (_json.containsKey("pointsEarned")) {
+      pointsEarned = _json["pointsEarned"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (actorUserId != null) {
+      _json["actorUserId"] = actorUserId;
+    }
+    if (gradeChangeType != null) {
+      _json["gradeChangeType"] = gradeChangeType;
+    }
+    if (gradeTimestamp != null) {
+      _json["gradeTimestamp"] = gradeTimestamp;
+    }
+    if (maxPoints != null) {
+      _json["maxPoints"] = maxPoints;
+    }
+    if (pointsEarned != null) {
+      _json["pointsEarned"] = pointsEarned;
+    }
+    return _json;
+  }
+}
+
 /**
  * Association between a student and a guardian of that student. The guardian
  * may receive information about the student's course work.
@@ -4180,6 +4256,7 @@
    * - "COURSE_ROLE_UNSPECIFIED" : No course role.
    * - "STUDENT" : Student in the course.
    * - "TEACHER" : Teacher of the course.
+   * - "OWNER" : Owner of the course.
    */
   core.String role;
   /**
@@ -4841,6 +4918,61 @@
   }
 }
 
+/** The history of each state this submission has been in. */
+class StateHistory {
+  /** The teacher or student who made the change */
+  core.String actorUserId;
+  /**
+   * The workflow pipeline stage.
+   * Possible string values are:
+   * - "STATE_UNSPECIFIED" : No state specified. This should never be returned.
+   * - "CREATED" : The Submission has been created.
+   * - "TURNED_IN" : The student has turned in an assigned document, which may
+   * or may not be
+   * a template.
+   * - "RETURNED" : The teacher has returned the assigned document to the
+   * student.
+   * - "RECLAIMED_BY_STUDENT" : The student turned in the assigned document, and
+   * then chose to
+   * "unsubmit" the assignment, giving the student control again as the
+   * owner.
+   * - "STUDENT_EDITED_AFTER_TURN_IN" : The student edited their submission
+   * after turning it in. Currently,
+   * only used by Questions, when the student edits their answer.
+   */
+  core.String state;
+  /** When the submission entered this state. */
+  core.String stateTimestamp;
+
+  StateHistory();
+
+  StateHistory.fromJson(core.Map _json) {
+    if (_json.containsKey("actorUserId")) {
+      actorUserId = _json["actorUserId"];
+    }
+    if (_json.containsKey("state")) {
+      state = _json["state"];
+    }
+    if (_json.containsKey("stateTimestamp")) {
+      stateTimestamp = _json["stateTimestamp"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (actorUserId != null) {
+      _json["actorUserId"] = actorUserId;
+    }
+    if (state != null) {
+      _json["state"] = state;
+    }
+    if (stateTimestamp != null) {
+      _json["stateTimestamp"] = stateTimestamp;
+    }
+    return _json;
+  }
+}
+
 /** Student in a course. */
 class Student {
   /**
@@ -4926,7 +5058,8 @@
   core.String alternateLink;
   /**
    * Optional grade. If unset, no grade was set.
-   * This must be a non-negative integer value.
+   * This value must be non-negative. Decimal (i.e. non-integer) values are
+   * allowed, but will be rounded to two decimal places.
    *
    * This may be modified only by course teachers.
    */
@@ -4976,7 +5109,8 @@
   core.String creationTime;
   /**
    * Optional pending grade. If unset, no grade was set.
-   * This must be a non-negative integer value.
+   * This value must be non-negative. Decimal (i.e. non-integer) values are
+   * allowed, but will be rounded to two decimal places.
    *
    * This is only visible to and modifiable by course teachers.
    */
@@ -5015,6 +5149,12 @@
    */
   core.String state;
   /**
+   * The history of the submission (includes state and grade histories).
+   *
+   * Read-only.
+   */
+  core.List<SubmissionHistory> submissionHistory;
+  /**
    * Last update time of this submission.
    * This may be unset if the student has not accessed this item.
    *
@@ -5073,6 +5213,9 @@
     if (_json.containsKey("state")) {
       state = _json["state"];
     }
+    if (_json.containsKey("submissionHistory")) {
+      submissionHistory = _json["submissionHistory"].map((value) => new SubmissionHistory.fromJson(value)).toList();
+    }
     if (_json.containsKey("updateTime")) {
       updateTime = _json["updateTime"];
     }
@@ -5125,6 +5268,9 @@
     if (state != null) {
       _json["state"] = state;
     }
+    if (submissionHistory != null) {
+      _json["submissionHistory"] = submissionHistory.map((value) => (value).toJson()).toList();
+    }
     if (updateTime != null) {
       _json["updateTime"] = updateTime;
     }
@@ -5135,6 +5281,39 @@
   }
 }
 
+/**
+ * The history of the submission. This currently includes state and grade
+ * histories.
+ */
+class SubmissionHistory {
+  /** The grade history information of the submission, if present. */
+  GradeHistory gradeHistory;
+  /** The state history information of the submission, if present. */
+  StateHistory stateHistory;
+
+  SubmissionHistory();
+
+  SubmissionHistory.fromJson(core.Map _json) {
+    if (_json.containsKey("gradeHistory")) {
+      gradeHistory = new GradeHistory.fromJson(_json["gradeHistory"]);
+    }
+    if (_json.containsKey("stateHistory")) {
+      stateHistory = new StateHistory.fromJson(_json["stateHistory"]);
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (gradeHistory != null) {
+      _json["gradeHistory"] = (gradeHistory).toJson();
+    }
+    if (stateHistory != null) {
+      _json["stateHistory"] = (stateHistory).toJson();
+    }
+    return _json;
+  }
+}
+
 /** Teacher of a course. */
 class Teacher {
   /**
diff --git a/generated/googleapis/lib/cloudbilling/v1.dart b/generated/googleapis/lib/cloudbilling/v1.dart
index bfe7374..5154619 100644
--- a/generated/googleapis/lib/cloudbilling/v1.dart
+++ b/generated/googleapis/lib/cloudbilling/v1.dart
@@ -27,6 +27,7 @@
 
   BillingAccountsResourceApi get billingAccounts => new BillingAccountsResourceApi(_requester);
   ProjectsResourceApi get projects => new ProjectsResourceApi(_requester);
+  ServicesResourceApi get services => new ServicesResourceApi(_requester);
 
   CloudbillingApi(http.Client client, {core.String rootUrl: "https://cloudbilling.googleapis.com/", core.String servicePath: ""}) :
       _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
@@ -335,6 +336,211 @@
 }
 
 
+class ServicesResourceApi {
+  final commons.ApiRequester _requester;
+
+  ServicesSkusResourceApi get skus => new ServicesSkusResourceApi(_requester);
+
+  ServicesResourceApi(commons.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Lists all public cloud services.
+   *
+   * Request parameters:
+   *
+   * [pageSize] - Requested page size. Defaults to 5000.
+   *
+   * [pageToken] - A token identifying a page of results to return. This should
+   * be a
+   * `next_page_token` value returned from a previous `ListServices`
+   * call. If unspecified, the first page of results is returned.
+   *
+   * Completes with a [ListServicesResponse].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<ListServicesResponse> list({core.int pageSize, core.String pageToken}) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
+
+    _url = 'v1/services';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new ListServicesResponse.fromJson(data));
+  }
+
+}
+
+
+class ServicesSkusResourceApi {
+  final commons.ApiRequester _requester;
+
+  ServicesSkusResourceApi(commons.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Lists all publicly available SKUs for a given cloud service.
+   *
+   * Request parameters:
+   *
+   * [parent] - The name of the service.
+   * Example: "services/DA34-426B-A397"
+   * Value must have pattern "^services/[^/]+$".
+   *
+   * [currencyCode] - The ISO 4217 currency code for the pricing info in the
+   * response proto.
+   * Will use the conversion rate as of start_time.
+   * Optional. If not specified USD will be used.
+   *
+   * [endTime] - Optional exclusive end time of the time range for which the
+   * pricing
+   * versions will be returned. Timestamps in the future are not allowed.
+   * Maximum allowable time range is 1 month (31 days). Time range as a whole
+   * is optional. If not specified, the latest pricing will be returned (up to
+   * 12 hours old at most).
+   *
+   * [pageSize] - Requested page size. Defaults to 5000.
+   *
+   * [startTime] - Optional inclusive start time of the time range for which the
+   * pricing
+   * versions will be returned. Timestamps in the future are not allowed.
+   * Maximum allowable time range is 1 month (31 days). Time range as a whole
+   * is optional. If not specified, the latest pricing will be returned (up to
+   * 12 hours old at most).
+   *
+   * [pageToken] - A token identifying a page of results to return. This should
+   * be a
+   * `next_page_token` value returned from a previous `ListSkus`
+   * call. If unspecified, the first page of results is returned.
+   *
+   * Completes with a [ListSkusResponse].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<ListSkusResponse> list(core.String parent, {core.String currencyCode, core.String endTime, core.int pageSize, core.String startTime, core.String pageToken}) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (parent == null) {
+      throw new core.ArgumentError("Parameter parent is required.");
+    }
+    if (currencyCode != null) {
+      _queryParams["currencyCode"] = [currencyCode];
+    }
+    if (endTime != null) {
+      _queryParams["endTime"] = [endTime];
+    }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
+    if (startTime != null) {
+      _queryParams["startTime"] = [startTime];
+    }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/skus';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new ListSkusResponse.fromJson(data));
+  }
+
+}
+
+
+
+/**
+ * Represents the aggregation level and interval for pricing of a single SKU.
+ */
+class AggregationInfo {
+  /**
+   * The number of intervals to aggregate over.
+   * Example: If aggregation_level is "DAILY" and aggregation_count is 14,
+   * aggregation will be over 14 days.
+   */
+  core.int aggregationCount;
+  /**
+   *
+   * Possible string values are:
+   * - "AGGREGATION_INTERVAL_UNSPECIFIED"
+   * - "DAILY"
+   * - "MONTHLY"
+   */
+  core.String aggregationInterval;
+  /**
+   *
+   * Possible string values are:
+   * - "AGGREGATION_LEVEL_UNSPECIFIED"
+   * - "ACCOUNT"
+   * - "PROJECT"
+   */
+  core.String aggregationLevel;
+
+  AggregationInfo();
+
+  AggregationInfo.fromJson(core.Map _json) {
+    if (_json.containsKey("aggregationCount")) {
+      aggregationCount = _json["aggregationCount"];
+    }
+    if (_json.containsKey("aggregationInterval")) {
+      aggregationInterval = _json["aggregationInterval"];
+    }
+    if (_json.containsKey("aggregationLevel")) {
+      aggregationLevel = _json["aggregationLevel"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (aggregationCount != null) {
+      _json["aggregationCount"] = aggregationCount;
+    }
+    if (aggregationInterval != null) {
+      _json["aggregationInterval"] = aggregationInterval;
+    }
+    if (aggregationLevel != null) {
+      _json["aggregationLevel"] = aggregationLevel;
+    }
+    return _json;
+  }
+}
 
 /**
  * A billing account in [Google Cloud
@@ -390,6 +596,61 @@
   }
 }
 
+/** Represents the category hierarchy of a SKU. */
+class Category {
+  /**
+   * The type of product the SKU refers to.
+   * Example: "Compute", "Storage", "Network", "ApplicationServices" etc.
+   */
+  core.String resourceFamily;
+  /**
+   * A group classification for related SKUs.
+   * Example: "RAM", "GPU", "Prediction", "Ops", "GoogleEgress" etc.
+   */
+  core.String resourceGroup;
+  /** The display name of the service this SKU belongs to. */
+  core.String serviceDisplayName;
+  /**
+   * Represents how the SKU is consumed.
+   * Example: "OnDemand", "Preemptible", "Commit1Mo", "Commit1Yr" etc.
+   */
+  core.String usageType;
+
+  Category();
+
+  Category.fromJson(core.Map _json) {
+    if (_json.containsKey("resourceFamily")) {
+      resourceFamily = _json["resourceFamily"];
+    }
+    if (_json.containsKey("resourceGroup")) {
+      resourceGroup = _json["resourceGroup"];
+    }
+    if (_json.containsKey("serviceDisplayName")) {
+      serviceDisplayName = _json["serviceDisplayName"];
+    }
+    if (_json.containsKey("usageType")) {
+      usageType = _json["usageType"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (resourceFamily != null) {
+      _json["resourceFamily"] = resourceFamily;
+    }
+    if (resourceGroup != null) {
+      _json["resourceGroup"] = resourceGroup;
+    }
+    if (serviceDisplayName != null) {
+      _json["serviceDisplayName"] = serviceDisplayName;
+    }
+    if (usageType != null) {
+      _json["usageType"] = usageType;
+    }
+    return _json;
+  }
+}
+
 /** Response message for `ListBillingAccounts`. */
 class ListBillingAccountsResponse {
   /** A list of billing accounts. */
@@ -461,6 +722,298 @@
   }
 }
 
+/** Response message for `ListServices`. */
+class ListServicesResponse {
+  /**
+   * A token to retrieve the next page of results. To retrieve the next page,
+   * call `ListServices` again with the `page_token` field set to this
+   * value. This field is empty if there are no more results to retrieve.
+   */
+  core.String nextPageToken;
+  /** A list of services. */
+  core.List<Service> services;
+
+  ListServicesResponse();
+
+  ListServicesResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("nextPageToken")) {
+      nextPageToken = _json["nextPageToken"];
+    }
+    if (_json.containsKey("services")) {
+      services = _json["services"].map((value) => new Service.fromJson(value)).toList();
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (nextPageToken != null) {
+      _json["nextPageToken"] = nextPageToken;
+    }
+    if (services != null) {
+      _json["services"] = services.map((value) => (value).toJson()).toList();
+    }
+    return _json;
+  }
+}
+
+/** Response message for `ListSkus`. */
+class ListSkusResponse {
+  /**
+   * A token to retrieve the next page of results. To retrieve the next page,
+   * call `ListSkus` again with the `page_token` field set to this
+   * value. This field is empty if there are no more results to retrieve.
+   */
+  core.String nextPageToken;
+  /** The list of public SKUs of the given service. */
+  core.List<Sku> skus;
+
+  ListSkusResponse();
+
+  ListSkusResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("nextPageToken")) {
+      nextPageToken = _json["nextPageToken"];
+    }
+    if (_json.containsKey("skus")) {
+      skus = _json["skus"].map((value) => new Sku.fromJson(value)).toList();
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (nextPageToken != null) {
+      _json["nextPageToken"] = nextPageToken;
+    }
+    if (skus != null) {
+      _json["skus"] = skus.map((value) => (value).toJson()).toList();
+    }
+    return _json;
+  }
+}
+
+/** Represents an amount of money with its currency type. */
+class Money {
+  /** The 3-letter currency code defined in ISO 4217. */
+  core.String currencyCode;
+  /**
+   * 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.
+   */
+  core.int nanos;
+  /**
+   * The whole units of the amount.
+   * For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+   */
+  core.String units;
+
+  Money();
+
+  Money.fromJson(core.Map _json) {
+    if (_json.containsKey("currencyCode")) {
+      currencyCode = _json["currencyCode"];
+    }
+    if (_json.containsKey("nanos")) {
+      nanos = _json["nanos"];
+    }
+    if (_json.containsKey("units")) {
+      units = _json["units"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (currencyCode != null) {
+      _json["currencyCode"] = currencyCode;
+    }
+    if (nanos != null) {
+      _json["nanos"] = nanos;
+    }
+    if (units != null) {
+      _json["units"] = units;
+    }
+    return _json;
+  }
+}
+
+/**
+ * Expresses a mathematical pricing formula. For Example:-
+ *
+ * `usage_unit: GBy`
+ * `tiered_rates:`
+ *    `[start_usage_amount: 20, unit_price: $10]`
+ *    `[start_usage_amount: 100, unit_price: $5]`
+ *
+ * The above expresses a pricing formula where the first 20GB is free, the
+ * next 80GB is priced at $10 per GB followed by $5 per GB for additional
+ * usage.
+ */
+class PricingExpression {
+  /**
+   * The base unit for the SKU which is the unit used in usage exports.
+   * Example: "By"
+   */
+  core.String baseUnit;
+  /**
+   * Conversion factor for converting from price per usage_unit to price per
+   * base_unit, and start_usage_amount to start_usage_amount in base_unit.
+   * unit_price / base_unit_conversion_factor = price per base_unit.
+   * start_usage_amount * base_unit_conversion_factor = start_usage_amount in
+   * base_unit.
+   */
+  core.double baseUnitConversionFactor;
+  /**
+   * The base unit in human readable form.
+   * Example: "byte".
+   */
+  core.String baseUnitDescription;
+  /**
+   * The recommended quantity of units for displaying pricing info. When
+   * displaying pricing info it is recommended to display:
+   * (unit_price * display_quantity) per display_quantity usage_unit.
+   * This field does not affect the pricing formula and is for display purposes
+   * only.
+   * Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" and
+   * the display_quantity is "1000" then the recommended way of displaying the
+   * pricing info is "0.10 USD per 1000 GB"
+   */
+  core.double displayQuantity;
+  /**
+   * The list of tiered rates for this pricing. The total cost is computed by
+   * applying each of the tiered rates on usage. This repeated list is sorted
+   * by ascending order of start_usage_amount.
+   */
+  core.List<TierRate> tieredRates;
+  /**
+   * The short hand for unit of usage this pricing is specified in.
+   * Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte".
+   */
+  core.String usageUnit;
+  /**
+   * The unit of usage in human readable form.
+   * Example: "gibi byte".
+   */
+  core.String usageUnitDescription;
+
+  PricingExpression();
+
+  PricingExpression.fromJson(core.Map _json) {
+    if (_json.containsKey("baseUnit")) {
+      baseUnit = _json["baseUnit"];
+    }
+    if (_json.containsKey("baseUnitConversionFactor")) {
+      baseUnitConversionFactor = _json["baseUnitConversionFactor"];
+    }
+    if (_json.containsKey("baseUnitDescription")) {
+      baseUnitDescription = _json["baseUnitDescription"];
+    }
+    if (_json.containsKey("displayQuantity")) {
+      displayQuantity = _json["displayQuantity"];
+    }
+    if (_json.containsKey("tieredRates")) {
+      tieredRates = _json["tieredRates"].map((value) => new TierRate.fromJson(value)).toList();
+    }
+    if (_json.containsKey("usageUnit")) {
+      usageUnit = _json["usageUnit"];
+    }
+    if (_json.containsKey("usageUnitDescription")) {
+      usageUnitDescription = _json["usageUnitDescription"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (baseUnit != null) {
+      _json["baseUnit"] = baseUnit;
+    }
+    if (baseUnitConversionFactor != null) {
+      _json["baseUnitConversionFactor"] = baseUnitConversionFactor;
+    }
+    if (baseUnitDescription != null) {
+      _json["baseUnitDescription"] = baseUnitDescription;
+    }
+    if (displayQuantity != null) {
+      _json["displayQuantity"] = displayQuantity;
+    }
+    if (tieredRates != null) {
+      _json["tieredRates"] = tieredRates.map((value) => (value).toJson()).toList();
+    }
+    if (usageUnit != null) {
+      _json["usageUnit"] = usageUnit;
+    }
+    if (usageUnitDescription != null) {
+      _json["usageUnitDescription"] = usageUnitDescription;
+    }
+    return _json;
+  }
+}
+
+/** Represents the pricing information for a SKU at a single point of time. */
+class PricingInfo {
+  /**
+   * Aggregation Info. This can be left unspecified if the pricing expression
+   * doesn't require aggregation.
+   */
+  AggregationInfo aggregationInfo;
+  /**
+   * Conversion rate for currency conversion, from USD to the currency specified
+   * in the request. If the currency is not specified this defaults to 1.0.
+   * Example: USD * currency_conversion_rate = JPY
+   */
+  core.double currencyConversionRate;
+  /** The timestamp from which this pricing was effective. */
+  core.String effectiveTime;
+  /** Expresses the pricing formula. See `PricingExpression` for an example. */
+  PricingExpression pricingExpression;
+  /**
+   * An optional human readable summary of the pricing information, has a
+   * maximum length of 256 characters.
+   */
+  core.String summary;
+
+  PricingInfo();
+
+  PricingInfo.fromJson(core.Map _json) {
+    if (_json.containsKey("aggregationInfo")) {
+      aggregationInfo = new AggregationInfo.fromJson(_json["aggregationInfo"]);
+    }
+    if (_json.containsKey("currencyConversionRate")) {
+      currencyConversionRate = _json["currencyConversionRate"];
+    }
+    if (_json.containsKey("effectiveTime")) {
+      effectiveTime = _json["effectiveTime"];
+    }
+    if (_json.containsKey("pricingExpression")) {
+      pricingExpression = new PricingExpression.fromJson(_json["pricingExpression"]);
+    }
+    if (_json.containsKey("summary")) {
+      summary = _json["summary"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (aggregationInfo != null) {
+      _json["aggregationInfo"] = (aggregationInfo).toJson();
+    }
+    if (currencyConversionRate != null) {
+      _json["currencyConversionRate"] = currencyConversionRate;
+    }
+    if (effectiveTime != null) {
+      _json["effectiveTime"] = effectiveTime;
+    }
+    if (pricingExpression != null) {
+      _json["pricingExpression"] = (pricingExpression).toJson();
+    }
+    if (summary != null) {
+      _json["summary"] = summary;
+    }
+    return _json;
+  }
+}
+
 /**
  * Encapsulation of billing information for a Cloud Console project. A project
  * has at most one associated billing account at a time (but a billing account
@@ -527,3 +1080,170 @@
     return _json;
   }
 }
+
+/** Encapsulates a single service in Google Cloud Platform. */
+class Service {
+  /** A human readable display name for this service. */
+  core.String displayName;
+  /**
+   * The resource name for the service.
+   * Example: "services/DA34-426B-A397"
+   */
+  core.String name;
+  /**
+   * The identifier for the service.
+   * Example: "DA34-426B-A397"
+   */
+  core.String serviceId;
+
+  Service();
+
+  Service.fromJson(core.Map _json) {
+    if (_json.containsKey("displayName")) {
+      displayName = _json["displayName"];
+    }
+    if (_json.containsKey("name")) {
+      name = _json["name"];
+    }
+    if (_json.containsKey("serviceId")) {
+      serviceId = _json["serviceId"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (displayName != null) {
+      _json["displayName"] = displayName;
+    }
+    if (name != null) {
+      _json["name"] = name;
+    }
+    if (serviceId != null) {
+      _json["serviceId"] = serviceId;
+    }
+    return _json;
+  }
+}
+
+/** Encapsulates a single SKU in Google Cloud Platform */
+class Sku {
+  /** The category hierarchy of this SKU, purely for organizational purpose. */
+  Category category;
+  /**
+   * A human readable description of the SKU, has a maximum length of 256
+   * characters.
+   */
+  core.String description;
+  /**
+   * The resource name for the SKU.
+   * Example: "services/DA34-426B-A397/skus/AA95-CD31-42FE"
+   */
+  core.String name;
+  /** A timeline of pricing info for this SKU in chronological order. */
+  core.List<PricingInfo> pricingInfo;
+  /**
+   * Identifies the service provider.
+   * This is 'Google' for first party services in Google Cloud Platform.
+   */
+  core.String serviceProviderName;
+  /**
+   * List of service regions this SKU is offered at.
+   * Example: "asia-east1"
+   * Service regions can be found at https://cloud.google.com/about/locations/
+   */
+  core.List<core.String> serviceRegions;
+  /**
+   * The identifier for the SKU.
+   * Example: "AA95-CD31-42FE"
+   */
+  core.String skuId;
+
+  Sku();
+
+  Sku.fromJson(core.Map _json) {
+    if (_json.containsKey("category")) {
+      category = new Category.fromJson(_json["category"]);
+    }
+    if (_json.containsKey("description")) {
+      description = _json["description"];
+    }
+    if (_json.containsKey("name")) {
+      name = _json["name"];
+    }
+    if (_json.containsKey("pricingInfo")) {
+      pricingInfo = _json["pricingInfo"].map((value) => new PricingInfo.fromJson(value)).toList();
+    }
+    if (_json.containsKey("serviceProviderName")) {
+      serviceProviderName = _json["serviceProviderName"];
+    }
+    if (_json.containsKey("serviceRegions")) {
+      serviceRegions = _json["serviceRegions"];
+    }
+    if (_json.containsKey("skuId")) {
+      skuId = _json["skuId"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (category != null) {
+      _json["category"] = (category).toJson();
+    }
+    if (description != null) {
+      _json["description"] = description;
+    }
+    if (name != null) {
+      _json["name"] = name;
+    }
+    if (pricingInfo != null) {
+      _json["pricingInfo"] = pricingInfo.map((value) => (value).toJson()).toList();
+    }
+    if (serviceProviderName != null) {
+      _json["serviceProviderName"] = serviceProviderName;
+    }
+    if (serviceRegions != null) {
+      _json["serviceRegions"] = serviceRegions;
+    }
+    if (skuId != null) {
+      _json["skuId"] = skuId;
+    }
+    return _json;
+  }
+}
+
+/** The price rate indicating starting usage and its corresponding price. */
+class TierRate {
+  /**
+   * Usage is priced at this rate only after this amount.
+   * Example: start_usage_amount of 10 indicates that the usage will be priced
+   * at the unit_price after the first 10 usage_units.
+   */
+  core.double startUsageAmount;
+  /**
+   * The price per unit of usage.
+   * Example: unit_price of amount $10 indicates that each unit will cost $10.
+   */
+  Money unitPrice;
+
+  TierRate();
+
+  TierRate.fromJson(core.Map _json) {
+    if (_json.containsKey("startUsageAmount")) {
+      startUsageAmount = _json["startUsageAmount"];
+    }
+    if (_json.containsKey("unitPrice")) {
+      unitPrice = new Money.fromJson(_json["unitPrice"]);
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (startUsageAmount != null) {
+      _json["startUsageAmount"] = startUsageAmount;
+    }
+    if (unitPrice != null) {
+      _json["unitPrice"] = (unitPrice).toJson();
+    }
+    return _json;
+  }
+}
diff --git a/generated/googleapis/lib/cloudbuild/v1.dart b/generated/googleapis/lib/cloudbuild/v1.dart
index 6573f32..ada1703 100644
--- a/generated/googleapis/lib/cloudbuild/v1.dart
+++ b/generated/googleapis/lib/cloudbuild/v1.dart
@@ -370,12 +370,12 @@
    *
    * [projectId] - ID of the project.
    *
+   * [pageToken] - Token to provide to skip to a particular spot in the list.
+   *
    * [pageSize] - Number of results to return in the list.
    *
    * [filter] - The raw filter text to constrain the results.
    *
-   * [pageToken] - Token to provide to skip to a particular spot in the list.
-   *
    * Completes with a [ListBuildsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -384,7 +384,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListBuildsResponse> list(core.String projectId, {core.int pageSize, core.String filter, core.String pageToken}) {
+  async.Future<ListBuildsResponse> list(core.String projectId, {core.String pageToken, core.int pageSize, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -395,15 +395,15 @@
     if (projectId == null) {
       throw new core.ArgumentError("Parameter projectId is required.");
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
 
     _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/builds';
 
diff --git a/generated/googleapis/lib/clouddebugger/v2.dart b/generated/googleapis/lib/clouddebugger/v2.dart
index 5d8912c..a7ca2f8 100644
--- a/generated/googleapis/lib/clouddebugger/v2.dart
+++ b/generated/googleapis/lib/clouddebugger/v2.dart
@@ -57,14 +57,14 @@
   /**
    * Registers the debuggee with the controller service.
    *
-   * All agents attached to the same application should call this method with
-   * the same request content to get back the same stable `debuggee_id`. Agents
-   * should call this method again whenever `google.rpc.Code.NOT_FOUND` is
-   * returned from any controller method.
+   * All agents attached to the same application must call this method with
+   * exactly the same request content to get back the same stable `debuggee_id`.
+   * Agents should call this method again whenever `google.rpc.Code.NOT_FOUND`
+   * is returned from any controller method.
    *
-   * This allows the controller service to disable the agent or recover from any
-   * data loss. If the debuggee is disabled by the server, the response will
-   * have `is_disabled` set to `true`.
+   * This protocol allows the controller service to disable debuggees, recover
+   * from data loss, or change the `debuggee_id` format. Agents must handle
+   * `debuggee_id` value changing upon re-registration.
    *
    * [request] - The metadata request object.
    *
@@ -130,18 +130,19 @@
    *
    * [debuggeeId] - Identifies the debuggee.
    *
-   * [successOnTimeout] - If set to `true`, returns `google.rpc.Code.OK` status
-   * and sets the
-   * `wait_expired` response field to `true` when the server-selected timeout
-   * has expired (recommended).
+   * [successOnTimeout] - If set to `true` (recommended), returns
+   * `google.rpc.Code.OK` status and
+   * sets the `wait_expired` response field to `true` when the server-selected
+   * timeout has expired.
    *
-   * If set to `false`, returns `google.rpc.Code.ABORTED` status when the
-   * server-selected timeout has expired (deprecated).
+   * If set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status
+   * when the server-selected timeout has expired.
    *
-   * [waitToken] - A wait token that, if specified, blocks the method call until
-   * the list
-   * of active breakpoints has changed, or a server selected timeout has
-   * expired.  The value should be set from the last returned response.
+   * [waitToken] - A token that, if specified, blocks the method call until the
+   * list
+   * of active breakpoints has changed, or a server-selected timeout has
+   * expired. The value should be set from the `next_wait_token` field in
+   * the last response. The initial value should be set to `"init"`.
    *
    * Completes with a [ListActiveBreakpointsResponse].
    *
@@ -183,8 +184,7 @@
 
   /**
    * Updates the breakpoint state or mutable fields.
-   * The entire Breakpoint message must be sent back to the controller
-   * service.
+   * The entire Breakpoint message must be sent back to the controller service.
    *
    * Updates to active breakpoint fields are only allowed if the new value
    * does not change the breakpoint specification. Updates to the `location`,
@@ -260,10 +260,13 @@
       _requester = client;
 
   /**
-   * Lists all the debuggees that the user can set breakpoints to.
+   * Lists all the debuggees that the user has access to.
    *
    * Request parameters:
    *
+   * [clientVersion] - The client version making the call.
+   * Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
+   *
    * [includeInactive] - When set to `true`, the result includes all debuggees.
    * Otherwise, the
    * result includes only debuggees that are active.
@@ -271,9 +274,6 @@
    * [project] - Project number of a Google Cloud project whose debuggees to
    * list.
    *
-   * [clientVersion] - The client version making the call.
-   * Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-   *
    * Completes with a [ListDebuggeesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -282,7 +282,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListDebuggeesResponse> list({core.bool includeInactive, core.String project, core.String clientVersion}) {
+  async.Future<ListDebuggeesResponse> list({core.String clientVersion, core.bool includeInactive, core.String project}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -290,15 +290,15 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (clientVersion != null) {
+      _queryParams["clientVersion"] = [clientVersion];
+    }
     if (includeInactive != null) {
       _queryParams["includeInactive"] = ["${includeInactive}"];
     }
     if (project != null) {
       _queryParams["project"] = [project];
     }
-    if (clientVersion != null) {
-      _queryParams["clientVersion"] = [clientVersion];
-    }
 
     _url = 'v2/debugger/debuggees';
 
@@ -331,7 +331,7 @@
    * [breakpointId] - ID of the breakpoint to delete.
    *
    * [clientVersion] - The client version making the call.
-   * Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
+   * Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
    *
    * Completes with a [Empty].
    *
@@ -381,7 +381,7 @@
    * [breakpointId] - ID of the breakpoint to get.
    *
    * [clientVersion] - The client version making the call.
-   * Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
+   * Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
    *
    * Completes with a [GetBreakpointResponse].
    *
@@ -428,6 +428,10 @@
    *
    * [debuggeeId] - ID of the debuggee whose breakpoints to list.
    *
+   * [stripResults] - This field is deprecated. The following fields are always
+   * stripped out of
+   * the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
+   *
    * [waitToken] - A wait token that, if specified, blocks the call until the
    * breakpoints
    * list has changed, or a server selected timeout has expired.  The value
@@ -436,7 +440,7 @@
    * should be called again with the same `wait_token`.
    *
    * [clientVersion] - The client version making the call.
-   * Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
+   * Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
    *
    * [action_value] - Only breakpoints with the specified action will pass the
    * filter.
@@ -452,10 +456,6 @@
    * breakpoints set by
    * any user. Otherwise, it includes only breakpoints set by the caller.
    *
-   * [stripResults] - This field is deprecated. The following fields are always
-   * stripped out of
-   * the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
-   *
    * Completes with a [ListBreakpointsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -464,7 +464,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListBreakpointsResponse> list(core.String debuggeeId, {core.String waitToken, core.String clientVersion, core.String action_value, core.bool includeInactive, core.bool includeAllUsers, core.bool stripResults}) {
+  async.Future<ListBreakpointsResponse> list(core.String debuggeeId, {core.bool stripResults, core.String waitToken, core.String clientVersion, core.String action_value, core.bool includeInactive, core.bool includeAllUsers}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -475,6 +475,9 @@
     if (debuggeeId == null) {
       throw new core.ArgumentError("Parameter debuggeeId is required.");
     }
+    if (stripResults != null) {
+      _queryParams["stripResults"] = ["${stripResults}"];
+    }
     if (waitToken != null) {
       _queryParams["waitToken"] = [waitToken];
     }
@@ -490,9 +493,6 @@
     if (includeAllUsers != null) {
       _queryParams["includeAllUsers"] = ["${includeAllUsers}"];
     }
-    if (stripResults != null) {
-      _queryParams["stripResults"] = ["${stripResults}"];
-    }
 
     _url = 'v2/debugger/debuggees/' + commons.Escaper.ecapeVariable('$debuggeeId') + '/breakpoints';
 
@@ -516,7 +516,7 @@
    * [debuggeeId] - ID of the debuggee where the breakpoint is to be set.
    *
    * [clientVersion] - The client version making the call.
-   * Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
+   * Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
    *
    * Completes with a [SetBreakpointResponse].
    *
@@ -943,17 +943,17 @@
 }
 
 /**
- * Represents the application to debug. The application may include one or more
+ * Represents the debugged application. The application may include one or more
  * replicated processes executing the same code. Each of these processes is
  * attached with a debugger agent, carrying out the debugging commands.
- * The agents attached to the same debuggee are identified by using exactly the
- * same field values when registering.
+ * Agents attached to the same debuggee identify themselves as such by using
+ * exactly the same Debuggee message value when registering.
  */
 class Debuggee {
   /**
-   * Version ID of the agent release. The version ID is structured as
-   * following: `domain/type/vmajor.minor` (for example
-   * `google.com/gcp-java/v1.1`).
+   * Version ID of the agent.
+   * Schema: `domain/language-platform/vmajor.minor` (for example
+   * `google.com/java-gcp/v1.1`).
    */
   core.String agentVersion;
   /**
@@ -966,9 +966,7 @@
    * References to the locations and revisions of the source code used in the
    * deployed application.
    *
-   * Contexts describing a remote repo related to the source code
-   * have a `category` label of `remote_repo`. Source snapshot source
-   * contexts have a `category` of `snapshot`.
+   * NOTE: this field is experimental and can be ignored.
    */
   core.List<ExtendedSourceContext> extSourceContexts;
   /**
@@ -981,8 +979,8 @@
    */
   core.bool isDisabled;
   /**
-   * If set to `true`, indicates that the debuggee is considered as inactive by
-   * the Controller service.
+   * If set to `true`, indicates that Controller service does not detect any
+   * activity from the debuggee agents and the application is possibly stopped.
    */
   core.bool isInactive;
   /**
@@ -992,16 +990,12 @@
   core.Map<core.String, core.String> labels;
   /**
    * Project the debuggee is associated with.
-   * Use the project number when registering a Google Cloud Platform project.
+   * Use project number or id when registering a Google Cloud Platform project.
    */
   core.String project;
   /**
    * References to the locations and revisions of the source code used in the
    * deployed application.
-   *
-   * NOTE: This field is deprecated. Consumers should use
-   * `ext_source_contexts` if it is not empty. Debug agents should populate
-   * both this field and `ext_source_contexts`.
    */
   core.List<SourceContext> sourceContexts;
   /**
@@ -1011,9 +1005,12 @@
    */
   StatusMessage status;
   /**
-   * Debuggee uniquifier within the project.
-   * Any string that identifies the application within the project can be used.
-   * Including environment and version or build IDs is recommended.
+   * Uniquifier to further distiguish the application.
+   * It is possible that different applications might have identical values in
+   * the debuggee message, thus, incorrectly identified as a single application
+   * by the Controller service. This field adds salt to further distiguish the
+   * application. Agents should consider seeding this field with value that
+   * identifies the code, binary, configuration and environment.
    */
   core.String uniquifier;
 
@@ -1318,13 +1315,14 @@
    */
   core.List<Breakpoint> breakpoints;
   /**
-   * A wait token that can be used in the next method call to block until
+   * A token that can be used in the next method call to block until
    * the list of breakpoints changes.
    */
   core.String nextWaitToken;
   /**
-   * The `wait_expired` field is set to true by the server when the
-   * request times out and the field `success_on_timeout` is set to true.
+   * If set to `true`, indicates that there is no change to the
+   * list of active breakpoints and the server-selected timeout has expired.
+   * The `breakpoints` field would be empty and should be ignored.
    */
   core.bool waitExpired;
 
@@ -1399,10 +1397,9 @@
 class ListDebuggeesResponse {
   /**
    * List of debuggees accessible to the calling user.
-   * Note that the `description` field is the only human readable field
-   * that should be displayed to the user.
-   * The fields `debuggee.id` and  `description` fields are guaranteed to be
-   * set on each debuggee.
+   * The fields `debuggee.id` and `description` are guaranteed to be set.
+   * The `description` field is a human readable field provided by agents and
+   * can be displayed to users.
    */
   core.List<Debuggee> debuggees;
 
@@ -1487,6 +1484,9 @@
   /**
    * Debuggee resource.
    * The field `id` is guranteed to be set (in addition to the echoed fields).
+   * If the field `is_disabled` is set to `true`, the agent should disable
+   * itself by removing all breakpoints and detaching from the application.
+   * It should however continue to poll `RegisterDebuggee` until reenabled.
    */
   Debuggee debuggee;
 
@@ -1759,6 +1759,7 @@
   /**
    * Updated breakpoint information.
    * The field `id` must be set.
+   * The agent must echo all Breakpoint specification fields in the update.
    */
   Breakpoint breakpoint;
 
diff --git a/generated/googleapis/lib/cloudkms/v1.dart b/generated/googleapis/lib/cloudkms/v1.dart
index 77aade2..44540b0 100644
--- a/generated/googleapis/lib/cloudkms/v1.dart
+++ b/generated/googleapis/lib/cloudkms/v1.dart
@@ -98,12 +98,12 @@
    * [name] - The resource that owns the locations collection, if applicable.
    * Value must have pattern "^projects/[^/]+$".
    *
+   * [pageSize] - The standard list page size.
+   *
    * [filter] - The standard list filter.
    *
    * [pageToken] - The standard list page token.
    *
-   * [pageSize] - The standard list page size.
-   *
    * Completes with a [ListLocationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -112,7 +112,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListLocationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListLocationsResponse> list(core.String name, {core.int pageSize, core.String filter, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -123,15 +123,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/locations';
 
@@ -302,14 +302,14 @@
    * KeyRings, in the format `projects / * /locations / * `.
    * Value must have pattern "^projects/[^/]+/locations/[^/]+$".
    *
-   * [pageToken] - Optional pagination token, returned earlier via
-   * ListKeyRingsResponse.next_page_token.
-   *
    * [pageSize] - Optional limit on the number of KeyRings to include in the
    * response.  Further KeyRings can subsequently be obtained by
    * including the ListKeyRingsResponse.next_page_token in a subsequent
    * request.  If unspecified, the server will pick an appropriate default.
    *
+   * [pageToken] - Optional pagination token, returned earlier via
+   * ListKeyRingsResponse.next_page_token.
+   *
    * Completes with a [ListKeyRingsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -318,7 +318,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListKeyRingsResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
+  async.Future<ListKeyRingsResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -329,12 +329,12 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/keyRings';
 
@@ -710,14 +710,14 @@
    * `projects / * /locations / * /keyRings / * `.
    * Value must have pattern "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$".
    *
-   * [pageToken] - Optional pagination token, returned earlier via
-   * ListCryptoKeysResponse.next_page_token.
-   *
    * [pageSize] - Optional limit on the number of CryptoKeys to include in the
    * response.  Further CryptoKeys can subsequently be obtained by
    * including the ListCryptoKeysResponse.next_page_token in a subsequent
    * request.  If unspecified, the server will pick an appropriate default.
    *
+   * [pageToken] - Optional pagination token, returned earlier via
+   * ListCryptoKeysResponse.next_page_token.
+   *
    * Completes with a [ListCryptoKeysResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -726,7 +726,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListCryptoKeysResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
+  async.Future<ListCryptoKeysResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -737,12 +737,12 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/cryptoKeys';
 
@@ -1654,7 +1654,30 @@
   }
 }
 
-/** Options for counters */
+/**
+ * Increment a streamz counter with the specified metric and field names.
+ *
+ * Metric names should start with a '/', generally be lowercase-only,
+ * and end in "_count". Field names should not contain an initial slash.
+ * The actual exported metric names will have "/iam/policy" prepended.
+ *
+ * Field names correspond to IAM request parameters and field values are
+ * their respective values.
+ *
+ * At present the only supported field names are
+ *    - "iam_principal", corresponding to IAMContext.principal;
+ *    - "" (empty string), resulting in one aggretated counter with no field.
+ *
+ * Examples:
+ *   counter { metric: "/debug_access_count"  field: "iam_principal" }
+ *   ==> increment counter /iam/policy/backend_debug_access_count
+ *                         {iam_principal=[value of IAMContext.principal]}
+ *
+ * At this time we do not support:
+ * * multiple field names (though this may be supported in the future)
+ * * decrementing the counter
+ * * incrementing it by anything other than 1
+ */
 class CounterOptions {
   /** The field value to attribute. */
   core.String field;
@@ -1877,14 +1900,41 @@
 
 /** Write a Data Access (Gin) log */
 class DataAccessOptions {
+  /**
+   * Whether Gin logging should happen in a fail-closed manner at the caller.
+   * This is relevant only in the LocalIAM implementation, for now.
+   * Possible string values are:
+   * - "LOG_MODE_UNSPECIFIED" : Client is not required to write a partial Gin
+   * log immediately after
+   * the authorization check. If client chooses to write one and it fails,
+   * client may either fail open (allow the operation to continue) or
+   * fail closed (handle as a DENY outcome).
+   * - "LOG_FAIL_CLOSED" : The application's operation in the context of which
+   * this authorization
+   * check is being made may only be performed if it is successfully logged
+   * to Gin. For instance, the authorization library may satisfy this
+   * obligation by emitting a partial log entry at authorization check time
+   * and only returning ALLOW to the application if it succeeds.
+   *
+   * If a matching Rule has this directive, but the client has not indicated
+   * that it will honor such requirements, then the IAM check will result in
+   * authorization failure by setting CheckPolicyResponse.success=false.
+   */
+  core.String logMode;
 
   DataAccessOptions();
 
   DataAccessOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("logMode")) {
+      logMode = _json["logMode"];
+    }
   }
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (logMode != null) {
+      _json["logMode"] = logMode;
+    }
     return _json;
   }
 }
@@ -2384,31 +2434,7 @@
   }
 }
 
-/**
- * Specifies what kind of log the caller must write
- * Increment a streamz counter with the specified metric and field names.
- *
- * Metric names should start with a '/', generally be lowercase-only,
- * and end in "_count". Field names should not contain an initial slash.
- * The actual exported metric names will have "/iam/policy" prepended.
- *
- * Field names correspond to IAM request parameters and field values are
- * their respective values.
- *
- * At present the only supported field names are
- *    - "iam_principal", corresponding to IAMContext.principal;
- *    - "" (empty string), resulting in one aggretated counter with no field.
- *
- * Examples:
- *   counter { metric: "/debug_access_count"  field: "iam_principal" }
- *   ==> increment counter /iam/policy/backend_debug_access_count
- *                         {iam_principal=[value of IAMContext.principal]}
- *
- * At this time we do not support:
- * * multiple field names (though this may be supported in the future)
- * * decrementing the counter
- * * incrementing it by anything other than 1
- */
+/** Specifies what kind of log the caller must write */
 class LogConfig {
   /** Cloud audit options. */
   CloudAuditOptions cloudAudit;
diff --git a/generated/googleapis/lib/cloudresourcemanager/v1.dart b/generated/googleapis/lib/cloudresourcemanager/v1.dart
index d15712b..72d0165 100644
--- a/generated/googleapis/lib/cloudresourcemanager/v1.dart
+++ b/generated/googleapis/lib/cloudresourcemanager/v1.dart
@@ -1480,6 +1480,12 @@
    *
    * Request parameters:
    *
+   * [pageSize] - The maximum number of Projects to return in the response.
+   * The server can return fewer Projects than requested.
+   * If unspecified, server picks an appropriate default.
+   *
+   * Optional.
+   *
    * [filter] - An expression for filtering the results of the request.  Filter
    * rules are
    * case insensitive. The fields eligible for filtering are:
@@ -1518,12 +1524,6 @@
    *
    * Optional.
    *
-   * [pageSize] - The maximum number of Projects to return in the response.
-   * The server can return fewer Projects than requested.
-   * If unspecified, server picks an appropriate default.
-   *
-   * Optional.
-   *
    * Completes with a [ListProjectsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1532,7 +1532,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListProjectsResponse> list({core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListProjectsResponse> list({core.int pageSize, core.String filter, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1540,15 +1540,15 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
 
     _url = 'v1/projects';
 
diff --git a/generated/googleapis/lib/cloudtrace/v1.dart b/generated/googleapis/lib/cloudtrace/v1.dart
index 294ac2a..6c88370 100644
--- a/generated/googleapis/lib/cloudtrace/v1.dart
+++ b/generated/googleapis/lib/cloudtrace/v1.dart
@@ -156,20 +156,6 @@
    *
    * [projectId] - ID of the Cloud project where the trace data is stored.
    *
-   * [orderBy] - Field used to sort the returned traces. Optional.
-   * Can be one of the following:
-   *
-   * *   `trace_id`
-   * *   `name` (`name` field of root span in the trace)
-   * *   `duration` (difference between `end_time` and `start_time` fields of
-   *      the root span)
-   * *   `start` (`start_time` field of the root span)
-   *
-   * Descending order can be specified by appending `desc` to the sort field
-   * (for example, `name desc`).
-   *
-   * Only one sort field is permitted.
-   *
    * [filter] - An optional filter against labels for the request.
    *
    * By default, searches use prefix matching. To specify exact match, prepend
@@ -226,6 +212,20 @@
    * - "ROOTSPAN" : A ROOTSPAN.
    * - "COMPLETE" : A COMPLETE.
    *
+   * [orderBy] - Field used to sort the returned traces. Optional.
+   * Can be one of the following:
+   *
+   * *   `trace_id`
+   * *   `name` (`name` field of root span in the trace)
+   * *   `duration` (difference between `end_time` and `start_time` fields of
+   *      the root span)
+   * *   `start` (`start_time` field of the root span)
+   *
+   * Descending order can be specified by appending `desc` to the sort field
+   * (for example, `name desc`).
+   *
+   * Only one sort field is permitted.
+   *
    * Completes with a [ListTracesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -234,7 +234,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListTracesResponse> list(core.String projectId, {core.String orderBy, core.String filter, core.String endTime, core.String pageToken, core.String startTime, core.int pageSize, core.String view}) {
+  async.Future<ListTracesResponse> list(core.String projectId, {core.String filter, core.String endTime, core.String pageToken, core.String startTime, core.int pageSize, core.String view, core.String orderBy}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -245,9 +245,6 @@
     if (projectId == null) {
       throw new core.ArgumentError("Parameter projectId is required.");
     }
-    if (orderBy != null) {
-      _queryParams["orderBy"] = [orderBy];
-    }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
@@ -266,6 +263,9 @@
     if (view != null) {
       _queryParams["view"] = [view];
     }
+    if (orderBy != null) {
+      _queryParams["orderBy"] = [orderBy];
+    }
 
     _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/traces';
 
diff --git a/generated/googleapis/lib/cloudtrace/v2.dart b/generated/googleapis/lib/cloudtrace/v2.dart
index 4678aa8..ed954cb 100644
--- a/generated/googleapis/lib/cloudtrace/v2.dart
+++ b/generated/googleapis/lib/cloudtrace/v2.dart
@@ -118,19 +118,6 @@
    * is `projects/PROJECT_ID`.
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [orderBy] - Optional. A single field used to sort the returned traces.
-   * Only the following field names can be used:
-   *
-   * *   `trace_id`: the trace's ID field
-   * *   `name`:  the root span's resource name
-   * *   `duration`: the difference between the root span's start time and end
-   * time
-   * *   `start`:  the start time of the root span
-   *
-   * Sorting is in ascending order unless `desc` is appended to the sort field
-   * name.
-   * Example: `"name desc"`).
-   *
    * [filter] - Opional. Return only traces that match this
    * [trace filter](/trace/docs/trace-filters). Example:
    *
@@ -154,6 +141,19 @@
    * response indicates that more results might be available, even if fewer than
    * the maximum number of results is returned by this request.
    *
+   * [orderBy] - Optional. A single field used to sort the returned traces.
+   * Only the following field names can be used:
+   *
+   * *   `trace_id`: the trace's ID field
+   * *   `name`:  the root span's resource name
+   * *   `duration`: the difference between the root span's start time and end
+   * time
+   * *   `start`:  the start time of the root span
+   *
+   * Sorting is in ascending order unless `desc` is appended to the sort field
+   * name.
+   * Example: `"name desc"`).
+   *
    * Completes with a [ListTracesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -162,7 +162,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListTracesResponse> list(core.String parent, {core.String orderBy, core.String filter, core.String endTime, core.String startTime, core.String pageToken, core.int pageSize}) {
+  async.Future<ListTracesResponse> list(core.String parent, {core.String filter, core.String endTime, core.String startTime, core.String pageToken, core.int pageSize, core.String orderBy}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -173,9 +173,6 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (orderBy != null) {
-      _queryParams["orderBy"] = [orderBy];
-    }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
@@ -191,6 +188,9 @@
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (orderBy != null) {
+      _queryParams["orderBy"] = [orderBy];
+    }
 
     _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + '/traces';
 
diff --git a/generated/googleapis/lib/compute/v1.dart b/generated/googleapis/lib/compute/v1.dart
index d14d8fb..3494879 100644
--- a/generated/googleapis/lib/compute/v1.dart
+++ b/generated/googleapis/lib/compute/v1.dart
@@ -477,6 +477,19 @@
    * [address] - Name of the address resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -485,7 +498,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String address) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String address, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -502,6 +515,9 @@
     if (address == null) {
       throw new core.ArgumentError("Parameter address is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/addresses/' + commons.Escaper.ecapeVariable('$address');
 
@@ -583,6 +599,19 @@
    * [region] - Name of the region for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -591,7 +620,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Address request, core.String project, core.String region) {
+  async.Future<Operation> insert(Address request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -608,6 +637,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/addresses';
 
@@ -849,6 +881,19 @@
    * [autoscaler] - Name of the autoscaler to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -857,7 +902,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String zone, core.String autoscaler) {
+  async.Future<Operation> delete(core.String project, core.String zone, core.String autoscaler, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -874,6 +919,9 @@
     if (autoscaler == null) {
       throw new core.ArgumentError("Parameter autoscaler is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/autoscalers/' + commons.Escaper.ecapeVariable('$autoscaler');
 
@@ -956,6 +1004,19 @@
    * [zone] - Name of the zone for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -964,7 +1025,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Autoscaler request, core.String project, core.String zone) {
+  async.Future<Operation> insert(Autoscaler request, core.String project, core.String zone, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -981,6 +1042,9 @@
     if (zone == null) {
       throw new core.ArgumentError("Parameter zone is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/autoscalers';
 
@@ -1118,6 +1182,19 @@
    * [autoscaler] - Name of the autoscaler to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1126,7 +1203,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(Autoscaler request, core.String project, core.String zone, {core.String autoscaler}) {
+  async.Future<Operation> patch(Autoscaler request, core.String project, core.String zone, {core.String autoscaler, core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1146,6 +1223,9 @@
     if (autoscaler != null) {
       _queryParams["autoscaler"] = [autoscaler];
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/autoscalers';
 
@@ -1177,6 +1257,19 @@
    * [autoscaler] - Name of the autoscaler to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1185,7 +1278,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(Autoscaler request, core.String project, core.String zone, {core.String autoscaler}) {
+  async.Future<Operation> update(Autoscaler request, core.String project, core.String zone, {core.String autoscaler, core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1205,6 +1298,9 @@
     if (autoscaler != null) {
       _queryParams["autoscaler"] = [autoscaler];
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/autoscalers';
 
@@ -1239,6 +1335,19 @@
    * [backendBucket] - Name of the BackendBucket resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1247,7 +1356,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String backendBucket) {
+  async.Future<Operation> delete(core.String project, core.String backendBucket, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1261,6 +1370,9 @@
     if (backendBucket == null) {
       throw new core.ArgumentError("Parameter backendBucket is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/backendBuckets/' + commons.Escaper.ecapeVariable('$backendBucket');
 
@@ -1334,6 +1446,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1342,7 +1467,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(BackendBucket request, core.String project) {
+  async.Future<Operation> insert(BackendBucket request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1356,6 +1481,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/backendBuckets';
 
@@ -1485,6 +1613,19 @@
    * [backendBucket] - Name of the BackendBucket resource to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1493,7 +1634,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(BackendBucket request, core.String project, core.String backendBucket) {
+  async.Future<Operation> patch(BackendBucket request, core.String project, core.String backendBucket, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1510,6 +1651,9 @@
     if (backendBucket == null) {
       throw new core.ArgumentError("Parameter backendBucket is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/backendBuckets/' + commons.Escaper.ecapeVariable('$backendBucket');
 
@@ -1538,6 +1682,19 @@
    * [backendBucket] - Name of the BackendBucket resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1546,7 +1703,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(BackendBucket request, core.String project, core.String backendBucket) {
+  async.Future<Operation> update(BackendBucket request, core.String project, core.String backendBucket, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1563,6 +1720,9 @@
     if (backendBucket == null) {
       throw new core.ArgumentError("Parameter backendBucket is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/backendBuckets/' + commons.Escaper.ecapeVariable('$backendBucket');
 
@@ -1697,6 +1857,19 @@
    * [backendService] - Name of the BackendService resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1705,7 +1878,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String backendService) {
+  async.Future<Operation> delete(core.String project, core.String backendService, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1719,6 +1892,9 @@
     if (backendService == null) {
       throw new core.ArgumentError("Parameter backendService is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
 
@@ -1847,6 +2023,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1855,7 +2044,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(BackendService request, core.String project) {
+  async.Future<Operation> insert(BackendService request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1869,6 +2058,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/backendServices';
 
@@ -2000,6 +2192,19 @@
    * [backendService] - Name of the BackendService resource to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2008,7 +2213,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(BackendService request, core.String project, core.String backendService) {
+  async.Future<Operation> patch(BackendService request, core.String project, core.String backendService, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2025,6 +2230,9 @@
     if (backendService == null) {
       throw new core.ArgumentError("Parameter backendService is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
 
@@ -2055,6 +2263,19 @@
    * [backendService] - Name of the BackendService resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2063,7 +2284,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(BackendService request, core.String project, core.String backendService) {
+  async.Future<Operation> update(BackendService request, core.String project, core.String backendService, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2080,6 +2301,9 @@
     if (backendService == null) {
       throw new core.ArgumentError("Parameter backendService is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
 
@@ -2487,6 +2711,19 @@
    *
    * [guestFlush] - null
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2495,7 +2732,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> createSnapshot(Snapshot request, core.String project, core.String zone, core.String disk, {core.bool guestFlush}) {
+  async.Future<Operation> createSnapshot(Snapshot request, core.String project, core.String zone, core.String disk, {core.bool guestFlush, core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2518,6 +2755,9 @@
     if (guestFlush != null) {
       _queryParams["guestFlush"] = ["${guestFlush}"];
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/disks/' + commons.Escaper.ecapeVariable('$disk') + '/createSnapshot';
 
@@ -2548,6 +2788,19 @@
    *
    * [disk] - Name of the persistent disk to delete.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2556,7 +2809,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String zone, core.String disk) {
+  async.Future<Operation> delete(core.String project, core.String zone, core.String disk, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2573,6 +2826,9 @@
     if (disk == null) {
       throw new core.ArgumentError("Parameter disk is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/disks/' + commons.Escaper.ecapeVariable('$disk');
 
@@ -2658,6 +2914,19 @@
    * [zone] - The name of the zone for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * [sourceImage] - Optional. Source image to restore onto a disk.
    *
    * Completes with a [Operation].
@@ -2668,7 +2937,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Disk request, core.String project, core.String zone, {core.String sourceImage}) {
+  async.Future<Operation> insert(Disk request, core.String project, core.String zone, {core.String requestId, core.String sourceImage}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2685,6 +2954,9 @@
     if (zone == null) {
       throw new core.ArgumentError("Parameter zone is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
     if (sourceImage != null) {
       _queryParams["sourceImage"] = [sourceImage];
     }
@@ -2823,6 +3095,19 @@
    * [disk] - The name of the persistent disk.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2831,7 +3116,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> resize(DisksResizeRequest request, core.String project, core.String zone, core.String disk) {
+  async.Future<Operation> resize(DisksResizeRequest request, core.String project, core.String zone, core.String disk, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2851,6 +3136,9 @@
     if (disk == null) {
       throw new core.ArgumentError("Parameter disk is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/disks/' + commons.Escaper.ecapeVariable('$disk') + '/resize';
 
@@ -2882,6 +3170,19 @@
    * [resource] - Name of the resource for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2890,7 +3191,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setLabels(ZoneSetLabelsRequest request, core.String project, core.String zone, core.String resource) {
+  async.Future<Operation> setLabels(ZoneSetLabelsRequest request, core.String project, core.String zone, core.String resource, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2910,6 +3211,9 @@
     if (resource == null) {
       throw new core.ArgumentError("Parameter resource is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/disks/' + commons.Escaper.ecapeVariable('$resource') + '/setLabels';
 
@@ -2944,6 +3248,19 @@
    * [firewall] - Name of the firewall rule to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2952,7 +3269,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String firewall) {
+  async.Future<Operation> delete(core.String project, core.String firewall, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2966,6 +3283,9 @@
     if (firewall == null) {
       throw new core.ArgumentError("Parameter firewall is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/firewalls/' + commons.Escaper.ecapeVariable('$firewall');
 
@@ -3038,6 +3358,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3046,7 +3379,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Firewall request, core.String project) {
+  async.Future<Operation> insert(Firewall request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -3060,6 +3393,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/firewalls';
 
@@ -3174,9 +3510,8 @@
 
   /**
    * Updates the specified firewall rule with the data included in the request.
-   * Using PUT method, can only update following fields of firewall rule:
-   * allowed, description, sourceRanges, sourceTags, targetTags. This method
-   * supports patch semantics.
+   * This method supports PATCH semantics and uses the JSON merge patch format
+   * and processing rules.
    *
    * [request] - The metadata request object.
    *
@@ -3186,9 +3521,22 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
-   * [firewall] - Name of the firewall rule to update.
+   * [firewall] - Name of the firewall rule to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3197,7 +3545,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(Firewall request, core.String project, core.String firewall) {
+  async.Future<Operation> patch(Firewall request, core.String project, core.String firewall, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -3214,6 +3562,9 @@
     if (firewall == null) {
       throw new core.ArgumentError("Parameter firewall is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/firewalls/' + commons.Escaper.ecapeVariable('$firewall');
 
@@ -3243,6 +3594,19 @@
    * [firewall] - Name of the firewall rule to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3251,7 +3615,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(Firewall request, core.String project, core.String firewall) {
+  async.Future<Operation> update(Firewall request, core.String project, core.String firewall, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -3268,6 +3632,9 @@
     if (firewall == null) {
       throw new core.ArgumentError("Parameter firewall is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/firewalls/' + commons.Escaper.ecapeVariable('$firewall');
 
@@ -3404,6 +3771,19 @@
    * [forwardingRule] - Name of the ForwardingRule resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3412,7 +3792,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String forwardingRule) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String forwardingRule, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -3429,6 +3809,9 @@
     if (forwardingRule == null) {
       throw new core.ArgumentError("Parameter forwardingRule is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/forwardingRules/' + commons.Escaper.ecapeVariable('$forwardingRule');
 
@@ -3510,6 +3893,19 @@
    * [region] - Name of the region scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3518,7 +3914,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(ForwardingRule request, core.String project, core.String region) {
+  async.Future<Operation> insert(ForwardingRule request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -3535,6 +3931,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/forwardingRules';
 
@@ -3673,6 +4072,19 @@
    * to be set.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3681,7 +4093,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setTarget(TargetReference request, core.String project, core.String region, core.String forwardingRule) {
+  async.Future<Operation> setTarget(TargetReference request, core.String project, core.String region, core.String forwardingRule, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -3701,6 +4113,9 @@
     if (forwardingRule == null) {
       throw new core.ArgumentError("Parameter forwardingRule is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/forwardingRules/' + commons.Escaper.ecapeVariable('$forwardingRule') + '/setTarget';
 
@@ -3735,6 +4150,19 @@
    * [address] - Name of the address resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3743,7 +4171,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String address) {
+  async.Future<Operation> delete(core.String project, core.String address, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -3757,6 +4185,9 @@
     if (address == null) {
       throw new core.ArgumentError("Parameter address is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/addresses/' + commons.Escaper.ecapeVariable('$address');
 
@@ -3830,6 +4261,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3838,7 +4282,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Address request, core.String project) {
+  async.Future<Operation> insert(Address request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -3852,6 +4296,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/addresses';
 
@@ -3985,6 +4432,19 @@
    * [forwardingRule] - Name of the ForwardingRule resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -3993,7 +4453,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String forwardingRule) {
+  async.Future<Operation> delete(core.String project, core.String forwardingRule, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -4007,6 +4467,9 @@
     if (forwardingRule == null) {
       throw new core.ArgumentError("Parameter forwardingRule is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/forwardingRules/' + commons.Escaper.ecapeVariable('$forwardingRule');
 
@@ -4080,6 +4543,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -4088,7 +4564,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(ForwardingRule request, core.String project) {
+  async.Future<Operation> insert(ForwardingRule request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -4102,6 +4578,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/forwardingRules';
 
@@ -4231,6 +4710,19 @@
    * to be set.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -4239,7 +4731,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setTarget(TargetReference request, core.String project, core.String forwardingRule) {
+  async.Future<Operation> setTarget(TargetReference request, core.String project, core.String forwardingRule, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -4256,6 +4748,9 @@
     if (forwardingRule == null) {
       throw new core.ArgumentError("Parameter forwardingRule is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/forwardingRules/' + commons.Escaper.ecapeVariable('$forwardingRule') + '/setTarget';
 
@@ -4593,6 +5088,19 @@
    * [healthCheck] - Name of the HealthCheck resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -4601,7 +5109,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String healthCheck) {
+  async.Future<Operation> delete(core.String project, core.String healthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -4615,6 +5123,9 @@
     if (healthCheck == null) {
       throw new core.ArgumentError("Parameter healthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/healthChecks/' + commons.Escaper.ecapeVariable('$healthCheck');
 
@@ -4688,6 +5199,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -4696,7 +5220,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(HealthCheck request, core.String project) {
+  async.Future<Operation> insert(HealthCheck request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -4710,6 +5234,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/healthChecks';
 
@@ -4839,6 +5366,19 @@
    * [healthCheck] - Name of the HealthCheck resource to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -4847,7 +5387,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(HealthCheck request, core.String project, core.String healthCheck) {
+  async.Future<Operation> patch(HealthCheck request, core.String project, core.String healthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -4864,6 +5404,9 @@
     if (healthCheck == null) {
       throw new core.ArgumentError("Parameter healthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/healthChecks/' + commons.Escaper.ecapeVariable('$healthCheck');
 
@@ -4892,6 +5435,19 @@
    * [healthCheck] - Name of the HealthCheck resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -4900,7 +5456,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(HealthCheck request, core.String project, core.String healthCheck) {
+  async.Future<Operation> update(HealthCheck request, core.String project, core.String healthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -4917,6 +5473,9 @@
     if (healthCheck == null) {
       throw new core.ArgumentError("Parameter healthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/healthChecks/' + commons.Escaper.ecapeVariable('$healthCheck');
 
@@ -4951,6 +5510,19 @@
    * [httpHealthCheck] - Name of the HttpHealthCheck resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -4959,7 +5531,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String httpHealthCheck) {
+  async.Future<Operation> delete(core.String project, core.String httpHealthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -4973,6 +5545,9 @@
     if (httpHealthCheck == null) {
       throw new core.ArgumentError("Parameter httpHealthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/httpHealthChecks/' + commons.Escaper.ecapeVariable('$httpHealthCheck');
 
@@ -5046,6 +5621,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5054,7 +5642,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(HttpHealthCheck request, core.String project) {
+  async.Future<Operation> insert(HttpHealthCheck request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5068,6 +5656,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/httpHealthChecks';
 
@@ -5197,6 +5788,19 @@
    * [httpHealthCheck] - Name of the HttpHealthCheck resource to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5205,7 +5809,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(HttpHealthCheck request, core.String project, core.String httpHealthCheck) {
+  async.Future<Operation> patch(HttpHealthCheck request, core.String project, core.String httpHealthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5222,6 +5826,9 @@
     if (httpHealthCheck == null) {
       throw new core.ArgumentError("Parameter httpHealthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/httpHealthChecks/' + commons.Escaper.ecapeVariable('$httpHealthCheck');
 
@@ -5250,6 +5857,19 @@
    * [httpHealthCheck] - Name of the HttpHealthCheck resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5258,7 +5878,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(HttpHealthCheck request, core.String project, core.String httpHealthCheck) {
+  async.Future<Operation> update(HttpHealthCheck request, core.String project, core.String httpHealthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5275,6 +5895,9 @@
     if (httpHealthCheck == null) {
       throw new core.ArgumentError("Parameter httpHealthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/httpHealthChecks/' + commons.Escaper.ecapeVariable('$httpHealthCheck');
 
@@ -5309,6 +5932,19 @@
    * [httpsHealthCheck] - Name of the HttpsHealthCheck resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5317,7 +5953,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String httpsHealthCheck) {
+  async.Future<Operation> delete(core.String project, core.String httpsHealthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5331,6 +5967,9 @@
     if (httpsHealthCheck == null) {
       throw new core.ArgumentError("Parameter httpsHealthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/httpsHealthChecks/' + commons.Escaper.ecapeVariable('$httpsHealthCheck');
 
@@ -5404,6 +6043,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5412,7 +6064,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(HttpsHealthCheck request, core.String project) {
+  async.Future<Operation> insert(HttpsHealthCheck request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5426,6 +6078,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/httpsHealthChecks';
 
@@ -5555,6 +6210,19 @@
    * [httpsHealthCheck] - Name of the HttpsHealthCheck resource to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5563,7 +6231,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(HttpsHealthCheck request, core.String project, core.String httpsHealthCheck) {
+  async.Future<Operation> patch(HttpsHealthCheck request, core.String project, core.String httpsHealthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5580,6 +6248,9 @@
     if (httpsHealthCheck == null) {
       throw new core.ArgumentError("Parameter httpsHealthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/httpsHealthChecks/' + commons.Escaper.ecapeVariable('$httpsHealthCheck');
 
@@ -5608,6 +6279,19 @@
    * [httpsHealthCheck] - Name of the HttpsHealthCheck resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5616,7 +6300,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(HttpsHealthCheck request, core.String project, core.String httpsHealthCheck) {
+  async.Future<Operation> update(HttpsHealthCheck request, core.String project, core.String httpsHealthCheck, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5633,6 +6317,9 @@
     if (httpsHealthCheck == null) {
       throw new core.ArgumentError("Parameter httpsHealthCheck is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/httpsHealthChecks/' + commons.Escaper.ecapeVariable('$httpsHealthCheck');
 
@@ -5667,6 +6354,19 @@
    * [image] - Name of the image resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5675,7 +6375,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String image) {
+  async.Future<Operation> delete(core.String project, core.String image, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5689,6 +6389,9 @@
     if (image == null) {
       throw new core.ArgumentError("Parameter image is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/images/' + commons.Escaper.ecapeVariable('$image');
 
@@ -5718,6 +6421,19 @@
    * [image] - Image name.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5726,7 +6442,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> deprecate(DeprecationStatus request, core.String project, core.String image) {
+  async.Future<Operation> deprecate(DeprecationStatus request, core.String project, core.String image, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5743,6 +6459,9 @@
     if (image == null) {
       throw new core.ArgumentError("Parameter image is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/images/' + commons.Escaper.ecapeVariable('$image') + '/deprecate';
 
@@ -5866,6 +6585,19 @@
    *
    * [forceCreate] - Force image creation if true.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5874,7 +6606,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Image request, core.String project, {core.bool forceCreate}) {
+  async.Future<Operation> insert(Image request, core.String project, {core.bool forceCreate, core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -5891,6 +6623,9 @@
     if (forceCreate != null) {
       _queryParams["forceCreate"] = ["${forceCreate}"];
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/images';
 
@@ -6098,6 +6833,19 @@
    *
    * [instanceGroupManager] - The name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6106,7 +6854,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> abandonInstances(InstanceGroupManagersAbandonInstancesRequest request, core.String project, core.String zone, core.String instanceGroupManager) {
+  async.Future<Operation> abandonInstances(InstanceGroupManagersAbandonInstancesRequest request, core.String project, core.String zone, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6126,6 +6874,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/abandonInstances';
 
@@ -6253,6 +7004,19 @@
    *
    * [instanceGroupManager] - The name of the managed instance group to delete.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6261,7 +7025,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String zone, core.String instanceGroupManager) {
+  async.Future<Operation> delete(core.String project, core.String zone, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6278,6 +7042,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager');
 
@@ -6318,6 +7085,19 @@
    *
    * [instanceGroupManager] - The name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6326,7 +7106,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> deleteInstances(InstanceGroupManagersDeleteInstancesRequest request, core.String project, core.String zone, core.String instanceGroupManager) {
+  async.Future<Operation> deleteInstances(InstanceGroupManagersDeleteInstancesRequest request, core.String project, core.String zone, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6346,6 +7126,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/deleteInstances';
 
@@ -6433,6 +7216,19 @@
    * [zone] - The name of the zone where you want to create the managed instance
    * group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6441,7 +7237,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(InstanceGroupManager request, core.String project, core.String zone) {
+  async.Future<Operation> insert(InstanceGroupManager request, core.String project, core.String zone, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6458,6 +7254,9 @@
     if (zone == null) {
       throw new core.ArgumentError("Parameter zone is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers';
 
@@ -6677,6 +7476,19 @@
    *
    * [instanceGroupManager] - The name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6685,7 +7497,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> recreateInstances(InstanceGroupManagersRecreateInstancesRequest request, core.String project, core.String zone, core.String instanceGroupManager) {
+  async.Future<Operation> recreateInstances(InstanceGroupManagersRecreateInstancesRequest request, core.String project, core.String zone, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6705,6 +7517,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/recreateInstances';
 
@@ -6744,6 +7559,19 @@
    * should maintain at any given time. The group automatically adds or removes
    * instances to maintain the number of instances specified by this parameter.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6752,7 +7580,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> resize(core.String project, core.String zone, core.String instanceGroupManager, core.int size) {
+  async.Future<Operation> resize(core.String project, core.String zone, core.String instanceGroupManager, core.int size, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6773,6 +7601,9 @@
       throw new core.ArgumentError("Parameter size is required.");
     }
     _queryParams["size"] = ["${size}"];
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/resize';
 
@@ -6803,6 +7634,19 @@
    *
    * [instanceGroupManager] - The name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6811,7 +7655,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setInstanceTemplate(InstanceGroupManagersSetInstanceTemplateRequest request, core.String project, core.String zone, core.String instanceGroupManager) {
+  async.Future<Operation> setInstanceTemplate(InstanceGroupManagersSetInstanceTemplateRequest request, core.String project, core.String zone, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6831,6 +7675,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/setInstanceTemplate';
 
@@ -6864,6 +7711,19 @@
    *
    * [instanceGroupManager] - The name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6872,7 +7732,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setTargetPools(InstanceGroupManagersSetTargetPoolsRequest request, core.String project, core.String zone, core.String instanceGroupManager) {
+  async.Future<Operation> setTargetPools(InstanceGroupManagersSetTargetPoolsRequest request, core.String project, core.String zone, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6892,6 +7752,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/setTargetPools';
 
@@ -6932,6 +7795,19 @@
    * [instanceGroup] - The name of the instance group where you are adding
    * instances.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -6940,7 +7816,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> addInstances(InstanceGroupsAddInstancesRequest request, core.String project, core.String zone, core.String instanceGroup) {
+  async.Future<Operation> addInstances(InstanceGroupsAddInstancesRequest request, core.String project, core.String zone, core.String instanceGroup, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -6960,6 +7836,9 @@
     if (instanceGroup == null) {
       throw new core.ArgumentError("Parameter instanceGroup is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroups/' + commons.Escaper.ecapeVariable('$instanceGroup') + '/addInstances';
 
@@ -7087,6 +7966,19 @@
    *
    * [instanceGroup] - The name of the instance group to delete.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -7095,7 +7987,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String zone, core.String instanceGroup) {
+  async.Future<Operation> delete(core.String project, core.String zone, core.String instanceGroup, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -7112,6 +8004,9 @@
     if (instanceGroup == null) {
       throw new core.ArgumentError("Parameter instanceGroup is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroups/' + commons.Escaper.ecapeVariable('$instanceGroup');
 
@@ -7191,6 +8086,19 @@
    *
    * [zone] - The name of the zone where you want to create the instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -7199,7 +8107,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(InstanceGroup request, core.String project, core.String zone) {
+  async.Future<Operation> insert(InstanceGroup request, core.String project, core.String zone, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -7216,6 +8124,9 @@
     if (zone == null) {
       throw new core.ArgumentError("Parameter zone is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroups';
 
@@ -7470,6 +8381,19 @@
    * [instanceGroup] - The name of the instance group where the specified
    * instances will be removed.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -7478,7 +8402,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> removeInstances(InstanceGroupsRemoveInstancesRequest request, core.String project, core.String zone, core.String instanceGroup) {
+  async.Future<Operation> removeInstances(InstanceGroupsRemoveInstancesRequest request, core.String project, core.String zone, core.String instanceGroup, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -7498,6 +8422,9 @@
     if (instanceGroup == null) {
       throw new core.ArgumentError("Parameter instanceGroup is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroups/' + commons.Escaper.ecapeVariable('$instanceGroup') + '/removeInstances';
 
@@ -7527,6 +8454,19 @@
    * [instanceGroup] - The name of the instance group where the named ports are
    * updated.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -7535,7 +8475,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setNamedPorts(InstanceGroupsSetNamedPortsRequest request, core.String project, core.String zone, core.String instanceGroup) {
+  async.Future<Operation> setNamedPorts(InstanceGroupsSetNamedPortsRequest request, core.String project, core.String zone, core.String instanceGroup, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -7555,6 +8495,9 @@
     if (instanceGroup == null) {
       throw new core.ArgumentError("Parameter instanceGroup is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroups/' + commons.Escaper.ecapeVariable('$instanceGroup') + '/setNamedPorts';
 
@@ -7592,6 +8535,19 @@
    * [instanceTemplate] - The name of the instance template to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -7600,7 +8556,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String instanceTemplate) {
+  async.Future<Operation> delete(core.String project, core.String instanceTemplate, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -7614,6 +8570,9 @@
     if (instanceTemplate == null) {
       throw new core.ArgumentError("Parameter instanceTemplate is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/instanceTemplates/' + commons.Escaper.ecapeVariable('$instanceTemplate');
 
@@ -7689,6 +8648,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -7697,7 +8669,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(InstanceTemplate request, core.String project) {
+  async.Future<Operation> insert(InstanceTemplate request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -7711,6 +8683,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/instanceTemplates';
 
@@ -7853,6 +8828,19 @@
    * [networkInterface] - The name of the network interface to add to this
    * instance.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -7861,7 +8849,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> addAccessConfig(AccessConfig request, core.String project, core.String zone, core.String instance, core.String networkInterface) {
+  async.Future<Operation> addAccessConfig(AccessConfig request, core.String project, core.String zone, core.String instance, core.String networkInterface, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -7885,6 +8873,9 @@
       throw new core.ArgumentError("Parameter networkInterface is required.");
     }
     _queryParams["networkInterface"] = [networkInterface];
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/addAccessConfig';
 
@@ -8017,6 +9008,19 @@
    * [instance] - The instance name for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8025,7 +9029,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> attachDisk(AttachedDisk request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> attachDisk(AttachedDisk request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8045,6 +9049,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/attachDisk';
 
@@ -8074,6 +9081,19 @@
    * [instance] - Name of the instance resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8082,7 +9102,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> delete(core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8099,6 +9119,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance');
 
@@ -8131,6 +9154,19 @@
    *
    * [networkInterface] - The name of the network interface.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8139,7 +9175,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> deleteAccessConfig(core.String project, core.String zone, core.String instance, core.String accessConfig, core.String networkInterface) {
+  async.Future<Operation> deleteAccessConfig(core.String project, core.String zone, core.String instance, core.String accessConfig, core.String networkInterface, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8164,6 +9200,9 @@
       throw new core.ArgumentError("Parameter networkInterface is required.");
     }
     _queryParams["networkInterface"] = [networkInterface];
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/deleteAccessConfig';
 
@@ -8194,6 +9233,19 @@
    *
    * [deviceName] - Disk device name to detach.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8202,7 +9254,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> detachDisk(core.String project, core.String zone, core.String instance, core.String deviceName) {
+  async.Future<Operation> detachDisk(core.String project, core.String zone, core.String instance, core.String deviceName, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8223,6 +9275,9 @@
       throw new core.ArgumentError("Parameter deviceName is required.");
     }
     _queryParams["deviceName"] = [deviceName];
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/detachDisk';
 
@@ -8373,6 +9428,19 @@
    * [zone] - The name of the zone for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8381,7 +9449,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Instance request, core.String project, core.String zone) {
+  async.Future<Operation> insert(Instance request, core.String project, core.String zone, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8398,6 +9466,9 @@
     if (zone == null) {
       throw new core.ArgumentError("Parameter zone is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances';
 
@@ -8532,6 +9603,19 @@
    * [instance] - Name of the instance scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8540,7 +9624,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> reset(core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> reset(core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8557,6 +9641,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/reset';
 
@@ -8591,6 +9678,19 @@
    * [deviceName] - The device name of the disk to modify.
    * Value must have pattern "\w[\w.-]{0,254}".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8599,7 +9699,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setDiskAutoDelete(core.String project, core.String zone, core.String instance, core.bool autoDelete, core.String deviceName) {
+  async.Future<Operation> setDiskAutoDelete(core.String project, core.String zone, core.String instance, core.bool autoDelete, core.String deviceName, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8624,6 +9724,9 @@
       throw new core.ArgumentError("Parameter deviceName is required.");
     }
     _queryParams["deviceName"] = [deviceName];
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setDiskAutoDelete';
 
@@ -8655,6 +9758,19 @@
    * [instance] - Name of the instance scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8663,7 +9779,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setLabels(InstancesSetLabelsRequest request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> setLabels(InstancesSetLabelsRequest request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8683,6 +9799,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setLabels';
 
@@ -8714,6 +9833,19 @@
    * [instance] - Name of the instance scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8722,7 +9854,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setMachineResources(InstancesSetMachineResourcesRequest request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> setMachineResources(InstancesSetMachineResourcesRequest request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8742,6 +9874,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setMachineResources';
 
@@ -8773,6 +9908,19 @@
    * [instance] - Name of the instance scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8781,7 +9929,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setMachineType(InstancesSetMachineTypeRequest request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> setMachineType(InstancesSetMachineTypeRequest request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8801,6 +9949,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setMachineType';
 
@@ -8832,6 +9983,19 @@
    * [instance] - Name of the instance scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8840,7 +10004,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setMetadata(Metadata request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> setMetadata(Metadata request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8860,6 +10024,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setMetadata';
 
@@ -8890,6 +10057,19 @@
    * [instance] - Instance name.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8898,7 +10078,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setScheduling(Scheduling request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> setScheduling(Scheduling request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8918,6 +10098,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setScheduling';
 
@@ -8949,6 +10132,19 @@
    * [instance] - Name of the instance resource to start.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -8957,7 +10153,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setServiceAccount(InstancesSetServiceAccountRequest request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> setServiceAccount(InstancesSetServiceAccountRequest request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -8977,6 +10173,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setServiceAccount';
 
@@ -9007,6 +10206,19 @@
    * [instance] - Name of the instance scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9015,7 +10227,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setTags(Tags request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> setTags(Tags request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9035,6 +10247,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setTags';
 
@@ -9064,6 +10279,19 @@
    * [instance] - Name of the instance resource to start.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9072,7 +10300,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> start(core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> start(core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9089,6 +10317,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/start';
 
@@ -9120,6 +10351,19 @@
    * [instance] - Name of the instance resource to start.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9128,7 +10372,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> startWithEncryptionKey(InstancesStartWithEncryptionKeyRequest request, core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> startWithEncryptionKey(InstancesStartWithEncryptionKeyRequest request, core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9148,6 +10392,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/startWithEncryptionKey';
 
@@ -9181,6 +10428,19 @@
    * [instance] - Name of the instance resource to stop.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9189,7 +10449,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> stop(core.String project, core.String zone, core.String instance) {
+  async.Future<Operation> stop(core.String project, core.String zone, core.String instance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9206,6 +10466,9 @@
     if (instance == null) {
       throw new core.ArgumentError("Parameter instance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/stop';
 
@@ -9565,6 +10828,19 @@
    * [network] - Name of the network resource to add peering to.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9573,7 +10849,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> addPeering(NetworksAddPeeringRequest request, core.String project, core.String network) {
+  async.Future<Operation> addPeering(NetworksAddPeeringRequest request, core.String project, core.String network, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9590,6 +10866,9 @@
     if (network == null) {
       throw new core.ArgumentError("Parameter network is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/networks/' + commons.Escaper.ecapeVariable('$network') + '/addPeering';
 
@@ -9615,6 +10894,19 @@
    * [network] - Name of the network to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9623,7 +10915,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String network) {
+  async.Future<Operation> delete(core.String project, core.String network, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9637,6 +10929,9 @@
     if (network == null) {
       throw new core.ArgumentError("Parameter network is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/networks/' + commons.Escaper.ecapeVariable('$network');
 
@@ -9710,6 +11005,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9718,7 +11026,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Network request, core.String project) {
+  async.Future<Operation> insert(Network request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9732,6 +11040,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/networks';
 
@@ -9858,6 +11169,19 @@
    * [network] - Name of the network resource to remove peering from.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9866,7 +11190,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> removePeering(NetworksRemovePeeringRequest request, core.String project, core.String network) {
+  async.Future<Operation> removePeering(NetworksRemovePeeringRequest request, core.String project, core.String network, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9883,6 +11207,9 @@
     if (network == null) {
       throw new core.ArgumentError("Parameter network is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/networks/' + commons.Escaper.ecapeVariable('$network') + '/removePeering';
 
@@ -9908,6 +11235,19 @@
    * [network] - Name of the network to be updated.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9916,7 +11256,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> switchToCustomMode(core.String project, core.String network) {
+  async.Future<Operation> switchToCustomMode(core.String project, core.String network, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9930,6 +11270,9 @@
     if (network == null) {
       throw new core.ArgumentError("Parameter network is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/networks/' + commons.Escaper.ecapeVariable('$network') + '/switchToCustomMode';
 
@@ -9961,6 +11304,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -9969,7 +11325,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> disableXpnHost(core.String project) {
+  async.Future<Operation> disableXpnHost(core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -9980,6 +11336,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/disableXpnHost';
 
@@ -10005,6 +11364,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10013,7 +11385,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> disableXpnResource(ProjectsDisableXpnResourceRequest request, core.String project) {
+  async.Future<Operation> disableXpnResource(ProjectsDisableXpnResourceRequest request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10027,6 +11399,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/disableXpnResource';
 
@@ -10049,6 +11424,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10057,7 +11445,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> enableXpnHost(core.String project) {
+  async.Future<Operation> enableXpnHost(core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10068,6 +11456,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/enableXpnHost';
 
@@ -10094,6 +11485,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10102,7 +11506,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> enableXpnResource(ProjectsEnableXpnResourceRequest request, core.String project) {
+  async.Future<Operation> enableXpnResource(ProjectsEnableXpnResourceRequest request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10116,6 +11520,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/enableXpnResource';
 
@@ -10351,6 +11758,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10359,7 +11779,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> moveDisk(DiskMoveRequest request, core.String project) {
+  async.Future<Operation> moveDisk(DiskMoveRequest request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10373,6 +11793,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/moveDisk';
 
@@ -10398,6 +11821,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10406,7 +11842,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> moveInstance(InstanceMoveRequest request, core.String project) {
+  async.Future<Operation> moveInstance(InstanceMoveRequest request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10420,6 +11856,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/moveInstance';
 
@@ -10445,6 +11884,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10453,7 +11905,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setCommonInstanceMetadata(Metadata request, core.String project) {
+  async.Future<Operation> setCommonInstanceMetadata(Metadata request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10467,6 +11919,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/setCommonInstanceMetadata';
 
@@ -10493,6 +11948,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10501,7 +11969,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setUsageExportBucket(UsageExportLocation request, core.String project) {
+  async.Future<Operation> setUsageExportBucket(UsageExportLocation request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10515,6 +11983,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/setUsageExportBucket';
 
@@ -10552,6 +12023,19 @@
    * [autoscaler] - Name of the autoscaler to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10560,7 +12044,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String autoscaler) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String autoscaler, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10577,6 +12061,9 @@
     if (autoscaler == null) {
       throw new core.ArgumentError("Parameter autoscaler is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers/' + commons.Escaper.ecapeVariable('$autoscaler');
 
@@ -10658,6 +12145,19 @@
    * [region] - Name of the region scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10666,7 +12166,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Autoscaler request, core.String project, core.String region) {
+  async.Future<Operation> insert(Autoscaler request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10683,6 +12183,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers';
 
@@ -10820,6 +12323,19 @@
    * [autoscaler] - Name of the autoscaler to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10828,7 +12344,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(Autoscaler request, core.String project, core.String region, {core.String autoscaler}) {
+  async.Future<Operation> patch(Autoscaler request, core.String project, core.String region, {core.String autoscaler, core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10848,6 +12364,9 @@
     if (autoscaler != null) {
       _queryParams["autoscaler"] = [autoscaler];
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers';
 
@@ -10879,6 +12398,19 @@
    * [autoscaler] - Name of the autoscaler to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10887,7 +12419,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(Autoscaler request, core.String project, core.String region, {core.String autoscaler}) {
+  async.Future<Operation> update(Autoscaler request, core.String project, core.String region, {core.String autoscaler, core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10907,6 +12439,9 @@
     if (autoscaler != null) {
       _queryParams["autoscaler"] = [autoscaler];
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers';
 
@@ -10944,6 +12479,19 @@
    * [backendService] - Name of the BackendService resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10952,7 +12500,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String backendService) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String backendService, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -10969,6 +12517,9 @@
     if (backendService == null) {
       throw new core.ArgumentError("Parameter backendService is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
 
@@ -11111,6 +12662,19 @@
    * [region] - Name of the region scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11119,7 +12683,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(BackendService request, core.String project, core.String region) {
+  async.Future<Operation> insert(BackendService request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -11136,6 +12700,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices';
 
@@ -11276,6 +12843,19 @@
    * [backendService] - Name of the BackendService resource to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11284,7 +12864,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(BackendService request, core.String project, core.String region, core.String backendService) {
+  async.Future<Operation> patch(BackendService request, core.String project, core.String region, core.String backendService, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -11304,6 +12884,9 @@
     if (backendService == null) {
       throw new core.ArgumentError("Parameter backendService is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
 
@@ -11337,6 +12920,19 @@
    * [backendService] - Name of the BackendService resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11345,7 +12941,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(BackendService request, core.String project, core.String region, core.String backendService) {
+  async.Future<Operation> update(BackendService request, core.String project, core.String region, core.String backendService, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -11365,6 +12961,9 @@
     if (backendService == null) {
       throw new core.ArgumentError("Parameter backendService is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
 
@@ -11555,6 +13154,19 @@
    * [region] - Name of the region for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11563,7 +13175,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Commitment request, core.String project, core.String region) {
+  async.Future<Operation> insert(Commitment request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -11580,6 +13192,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/commitments';
 
@@ -11735,6 +13350,19 @@
    *
    * [instanceGroupManager] - Name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11743,7 +13371,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> abandonInstances(RegionInstanceGroupManagersAbandonInstancesRequest request, core.String project, core.String region, core.String instanceGroupManager) {
+  async.Future<Operation> abandonInstances(RegionInstanceGroupManagersAbandonInstancesRequest request, core.String project, core.String region, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -11763,6 +13391,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/abandonInstances';
 
@@ -11790,6 +13421,19 @@
    *
    * [instanceGroupManager] - Name of the managed instance group to delete.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11798,7 +13442,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String instanceGroupManager) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -11815,6 +13459,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager');
 
@@ -11855,6 +13502,19 @@
    *
    * [instanceGroupManager] - Name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11863,7 +13523,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> deleteInstances(RegionInstanceGroupManagersDeleteInstancesRequest request, core.String project, core.String region, core.String instanceGroupManager) {
+  async.Future<Operation> deleteInstances(RegionInstanceGroupManagersDeleteInstancesRequest request, core.String project, core.String region, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -11883,6 +13543,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/deleteInstances';
 
@@ -11967,6 +13630,19 @@
    *
    * [region] - Name of the region scoping this request.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11975,7 +13651,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(InstanceGroupManager request, core.String project, core.String region) {
+  async.Future<Operation> insert(InstanceGroupManager request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -11992,6 +13668,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers';
 
@@ -12209,6 +13888,19 @@
    *
    * [instanceGroupManager] - Name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -12217,7 +13909,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> recreateInstances(RegionInstanceGroupManagersRecreateRequest request, core.String project, core.String region, core.String instanceGroupManager) {
+  async.Future<Operation> recreateInstances(RegionInstanceGroupManagersRecreateRequest request, core.String project, core.String region, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -12237,6 +13929,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/recreateInstances';
 
@@ -12276,6 +13971,19 @@
    * [size] - Number of instances that should exist in this instance group
    * manager.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -12284,7 +13992,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> resize(core.String project, core.String region, core.String instanceGroupManager, core.int size) {
+  async.Future<Operation> resize(core.String project, core.String region, core.String instanceGroupManager, core.int size, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -12305,6 +14013,9 @@
       throw new core.ArgumentError("Parameter size is required.");
     }
     _queryParams["size"] = ["${size}"];
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/resize';
 
@@ -12334,6 +14045,19 @@
    *
    * [instanceGroupManager] - The name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -12342,7 +14066,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setInstanceTemplate(RegionInstanceGroupManagersSetTemplateRequest request, core.String project, core.String region, core.String instanceGroupManager) {
+  async.Future<Operation> setInstanceTemplate(RegionInstanceGroupManagersSetTemplateRequest request, core.String project, core.String region, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -12362,6 +14086,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/setInstanceTemplate';
 
@@ -12391,6 +14118,19 @@
    *
    * [instanceGroupManager] - Name of the managed instance group.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -12399,7 +14139,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setTargetPools(RegionInstanceGroupManagersSetTargetPoolsRequest request, core.String project, core.String region, core.String instanceGroupManager) {
+  async.Future<Operation> setTargetPools(RegionInstanceGroupManagersSetTargetPoolsRequest request, core.String project, core.String region, core.String instanceGroupManager, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -12419,6 +14159,9 @@
     if (instanceGroupManager == null) {
       throw new core.ArgumentError("Parameter instanceGroupManager is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/setTargetPools';
 
@@ -12730,6 +14473,19 @@
    * [instanceGroup] - The name of the regional instance group where the named
    * ports are updated.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -12738,7 +14494,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setNamedPorts(RegionInstanceGroupsSetNamedPortsRequest request, core.String project, core.String region, core.String instanceGroup) {
+  async.Future<Operation> setNamedPorts(RegionInstanceGroupsSetNamedPortsRequest request, core.String project, core.String region, core.String instanceGroup, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -12758,6 +14514,9 @@
     if (instanceGroup == null) {
       throw new core.ArgumentError("Parameter instanceGroup is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroups/' + commons.Escaper.ecapeVariable('$instanceGroup') + '/setNamedPorts';
 
@@ -13271,6 +15030,19 @@
    * [router] - Name of the Router resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13279,7 +15051,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String router) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String router, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -13296,6 +15068,9 @@
     if (router == null) {
       throw new core.ArgumentError("Parameter router is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
 
@@ -13431,6 +15206,19 @@
    * [region] - Name of the region for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13439,7 +15227,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Router request, core.String project, core.String region) {
+  async.Future<Operation> insert(Router request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -13456,6 +15244,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers';
 
@@ -13593,6 +15384,19 @@
    * [router] - Name of the Router resource to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13601,7 +15405,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(Router request, core.String project, core.String region, core.String router) {
+  async.Future<Operation> patch(Router request, core.String project, core.String region, core.String router, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -13621,6 +15425,9 @@
     if (router == null) {
       throw new core.ArgumentError("Parameter router is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
 
@@ -13711,6 +15518,19 @@
    * [router] - Name of the Router resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13719,7 +15539,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(Router request, core.String project, core.String region, core.String router) {
+  async.Future<Operation> update(Router request, core.String project, core.String region, core.String router, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -13739,6 +15559,9 @@
     if (router == null) {
       throw new core.ArgumentError("Parameter router is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
 
@@ -13773,6 +15596,19 @@
    * [route] - Name of the Route resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13781,7 +15617,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String route) {
+  async.Future<Operation> delete(core.String project, core.String route, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -13795,6 +15631,9 @@
     if (route == null) {
       throw new core.ArgumentError("Parameter route is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commons.Escaper.ecapeVariable('$route');
 
@@ -13868,6 +15707,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13876,7 +15728,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Route request, core.String project) {
+  async.Future<Operation> insert(Route request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -13890,6 +15742,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/routes';
 
@@ -14029,6 +15884,19 @@
    * [snapshot] - Name of the Snapshot resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -14037,7 +15905,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String snapshot) {
+  async.Future<Operation> delete(core.String project, core.String snapshot, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -14051,6 +15919,9 @@
     if (snapshot == null) {
       throw new core.ArgumentError("Parameter snapshot is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + commons.Escaper.ecapeVariable('$snapshot');
 
@@ -14286,6 +16157,19 @@
    * [sslCertificate] - Name of the SslCertificate resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -14294,7 +16178,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String sslCertificate) {
+  async.Future<Operation> delete(core.String project, core.String sslCertificate, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -14308,6 +16192,9 @@
     if (sslCertificate == null) {
       throw new core.ArgumentError("Parameter sslCertificate is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/' + commons.Escaper.ecapeVariable('$sslCertificate');
 
@@ -14381,6 +16268,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -14389,7 +16289,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(SslCertificate request, core.String project) {
+  async.Future<Operation> insert(SslCertificate request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -14403,6 +16303,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates';
 
@@ -14639,6 +16542,19 @@
    * [subnetwork] - Name of the Subnetwork resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -14647,7 +16563,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String subnetwork) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String subnetwork, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -14664,6 +16580,9 @@
     if (subnetwork == null) {
       throw new core.ArgumentError("Parameter subnetwork is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork');
 
@@ -14694,6 +16613,19 @@
    * [subnetwork] - Name of the Subnetwork resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -14702,7 +16634,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> expandIpCidrRange(SubnetworksExpandIpCidrRangeRequest request, core.String project, core.String region, core.String subnetwork) {
+  async.Future<Operation> expandIpCidrRange(SubnetworksExpandIpCidrRangeRequest request, core.String project, core.String region, core.String subnetwork, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -14722,6 +16654,9 @@
     if (subnetwork == null) {
       throw new core.ArgumentError("Parameter subnetwork is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork') + '/expandIpCidrRange';
 
@@ -14804,6 +16739,19 @@
    * [region] - Name of the region scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -14812,7 +16760,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(Subnetwork request, core.String project, core.String region) {
+  async.Future<Operation> insert(Subnetwork request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -14829,6 +16777,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks';
 
@@ -14965,6 +16916,19 @@
    * [subnetwork] - Name of the Subnetwork resource.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -14973,7 +16937,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setPrivateIpGoogleAccess(SubnetworksSetPrivateIpGoogleAccessRequest request, core.String project, core.String region, core.String subnetwork) {
+  async.Future<Operation> setPrivateIpGoogleAccess(SubnetworksSetPrivateIpGoogleAccessRequest request, core.String project, core.String region, core.String subnetwork, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -14993,6 +16957,9 @@
     if (subnetwork == null) {
       throw new core.ArgumentError("Parameter subnetwork is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork') + '/setPrivateIpGoogleAccess';
 
@@ -15027,6 +16994,19 @@
    * [targetHttpProxy] - Name of the TargetHttpProxy resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15035,7 +17015,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String targetHttpProxy) {
+  async.Future<Operation> delete(core.String project, core.String targetHttpProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15049,6 +17029,9 @@
     if (targetHttpProxy == null) {
       throw new core.ArgumentError("Parameter targetHttpProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies/' + commons.Escaper.ecapeVariable('$targetHttpProxy');
 
@@ -15122,6 +17105,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15130,7 +17126,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(TargetHttpProxy request, core.String project) {
+  async.Future<Operation> insert(TargetHttpProxy request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15144,6 +17140,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies';
 
@@ -15271,6 +17270,19 @@
    * [targetHttpProxy] - Name of the TargetHttpProxy to set a URL map for.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15279,7 +17291,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setUrlMap(UrlMapReference request, core.String project, core.String targetHttpProxy) {
+  async.Future<Operation> setUrlMap(UrlMapReference request, core.String project, core.String targetHttpProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15296,6 +17308,9 @@
     if (targetHttpProxy == null) {
       throw new core.ArgumentError("Parameter targetHttpProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpProxies/' + commons.Escaper.ecapeVariable('$targetHttpProxy') + '/setUrlMap';
 
@@ -15330,6 +17345,19 @@
    * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15338,7 +17366,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String targetHttpsProxy) {
+  async.Future<Operation> delete(core.String project, core.String targetHttpsProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15352,6 +17380,9 @@
     if (targetHttpsProxy == null) {
       throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy');
 
@@ -15425,6 +17456,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15433,7 +17477,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(TargetHttpsProxy request, core.String project) {
+  async.Future<Operation> insert(TargetHttpsProxy request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15447,6 +17491,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies';
 
@@ -15575,6 +17622,19 @@
    * SslCertificates resource for.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15583,7 +17643,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setSslCertificates(TargetHttpsProxiesSetSslCertificatesRequest request, core.String project, core.String targetHttpsProxy) {
+  async.Future<Operation> setSslCertificates(TargetHttpsProxiesSetSslCertificatesRequest request, core.String project, core.String targetHttpsProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15600,6 +17660,9 @@
     if (targetHttpsProxy == null) {
       throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setSslCertificates';
 
@@ -15628,6 +17691,19 @@
    * to be set.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15636,7 +17712,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setUrlMap(UrlMapReference request, core.String project, core.String targetHttpsProxy) {
+  async.Future<Operation> setUrlMap(UrlMapReference request, core.String project, core.String targetHttpsProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15653,6 +17729,9 @@
     if (targetHttpsProxy == null) {
       throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setUrlMap';
 
@@ -15789,6 +17868,19 @@
    * [targetInstance] - Name of the TargetInstance resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15797,7 +17889,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String zone, core.String targetInstance) {
+  async.Future<Operation> delete(core.String project, core.String zone, core.String targetInstance, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15814,6 +17906,9 @@
     if (targetInstance == null) {
       throw new core.ArgumentError("Parameter targetInstance is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable('$targetInstance');
 
@@ -15896,6 +17991,19 @@
    * [zone] - Name of the zone scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -15904,7 +18012,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(TargetInstance request, core.String project, core.String zone) {
+  async.Future<Operation> insert(TargetInstance request, core.String project, core.String zone, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -15921,6 +18029,9 @@
     if (zone == null) {
       throw new core.ArgumentError("Parameter zone is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances';
 
@@ -16066,6 +18177,19 @@
    * [targetPool] - Name of the target pool to add a health check to.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16074,7 +18198,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> addHealthCheck(TargetPoolsAddHealthCheckRequest request, core.String project, core.String region, core.String targetPool) {
+  async.Future<Operation> addHealthCheck(TargetPoolsAddHealthCheckRequest request, core.String project, core.String region, core.String targetPool, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16094,6 +18218,9 @@
     if (targetPool == null) {
       throw new core.ArgumentError("Parameter targetPool is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/addHealthCheck';
 
@@ -16124,6 +18251,19 @@
    * [targetPool] - Name of the TargetPool resource to add instances to.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16132,7 +18272,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> addInstance(TargetPoolsAddInstanceRequest request, core.String project, core.String region, core.String targetPool) {
+  async.Future<Operation> addInstance(TargetPoolsAddInstanceRequest request, core.String project, core.String region, core.String targetPool, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16152,6 +18292,9 @@
     if (targetPool == null) {
       throw new core.ArgumentError("Parameter targetPool is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/addInstance';
 
@@ -16279,6 +18422,19 @@
    * [targetPool] - Name of the TargetPool resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16287,7 +18443,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String targetPool) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String targetPool, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16304,6 +18460,9 @@
     if (targetPool == null) {
       throw new core.ArgumentError("Parameter targetPool is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool');
 
@@ -16446,6 +18605,19 @@
    * [region] - Name of the region scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16454,7 +18626,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(TargetPool request, core.String project, core.String region) {
+  async.Future<Operation> insert(TargetPool request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16471,6 +18643,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools';
 
@@ -16607,6 +18782,19 @@
    * [targetPool] - Name of the target pool to remove health checks from.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16615,7 +18803,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> removeHealthCheck(TargetPoolsRemoveHealthCheckRequest request, core.String project, core.String region, core.String targetPool) {
+  async.Future<Operation> removeHealthCheck(TargetPoolsRemoveHealthCheckRequest request, core.String project, core.String region, core.String targetPool, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16635,6 +18823,9 @@
     if (targetPool == null) {
       throw new core.ArgumentError("Parameter targetPool is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/removeHealthCheck';
 
@@ -16665,6 +18856,19 @@
    * [targetPool] - Name of the TargetPool resource to remove instances from.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16673,7 +18877,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> removeInstance(TargetPoolsRemoveInstanceRequest request, core.String project, core.String region, core.String targetPool) {
+  async.Future<Operation> removeInstance(TargetPoolsRemoveInstanceRequest request, core.String project, core.String region, core.String targetPool, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16693,6 +18897,9 @@
     if (targetPool == null) {
       throw new core.ArgumentError("Parameter targetPool is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/removeInstance';
 
@@ -16725,6 +18932,19 @@
    *
    * [failoverRatio] - New failoverRatio value for the target pool.
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16733,7 +18953,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setBackup(TargetReference request, core.String project, core.String region, core.String targetPool, {core.double failoverRatio}) {
+  async.Future<Operation> setBackup(TargetReference request, core.String project, core.String region, core.String targetPool, {core.double failoverRatio, core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16756,6 +18976,9 @@
     if (failoverRatio != null) {
       _queryParams["failoverRatio"] = ["${failoverRatio}"];
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/setBackup';
 
@@ -16790,6 +19013,19 @@
    * [targetSslProxy] - Name of the TargetSslProxy resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16798,7 +19034,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String targetSslProxy) {
+  async.Future<Operation> delete(core.String project, core.String targetSslProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16812,6 +19048,9 @@
     if (targetSslProxy == null) {
       throw new core.ArgumentError("Parameter targetSslProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy');
 
@@ -16885,6 +19124,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -16893,7 +19145,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(TargetSslProxy request, core.String project) {
+  async.Future<Operation> insert(TargetSslProxy request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -16907,6 +19159,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies';
 
@@ -17035,6 +19290,19 @@
    * resource is to be set.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17043,7 +19311,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setBackendService(TargetSslProxiesSetBackendServiceRequest request, core.String project, core.String targetSslProxy) {
+  async.Future<Operation> setBackendService(TargetSslProxiesSetBackendServiceRequest request, core.String project, core.String targetSslProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17060,6 +19328,9 @@
     if (targetSslProxy == null) {
       throw new core.ArgumentError("Parameter targetSslProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setBackendService';
 
@@ -17088,6 +19359,19 @@
    * to be set.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17096,7 +19380,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setProxyHeader(TargetSslProxiesSetProxyHeaderRequest request, core.String project, core.String targetSslProxy) {
+  async.Future<Operation> setProxyHeader(TargetSslProxiesSetProxyHeaderRequest request, core.String project, core.String targetSslProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17113,6 +19397,9 @@
     if (targetSslProxy == null) {
       throw new core.ArgumentError("Parameter targetSslProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setProxyHeader';
 
@@ -17141,6 +19428,19 @@
    * resource is to be set.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17149,7 +19449,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setSslCertificates(TargetSslProxiesSetSslCertificatesRequest request, core.String project, core.String targetSslProxy) {
+  async.Future<Operation> setSslCertificates(TargetSslProxiesSetSslCertificatesRequest request, core.String project, core.String targetSslProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17166,6 +19466,9 @@
     if (targetSslProxy == null) {
       throw new core.ArgumentError("Parameter targetSslProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setSslCertificates';
 
@@ -17200,6 +19503,19 @@
    * [targetTcpProxy] - Name of the TargetTcpProxy resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17208,7 +19524,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String targetTcpProxy) {
+  async.Future<Operation> delete(core.String project, core.String targetTcpProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17222,6 +19538,9 @@
     if (targetTcpProxy == null) {
       throw new core.ArgumentError("Parameter targetTcpProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetTcpProxies/' + commons.Escaper.ecapeVariable('$targetTcpProxy');
 
@@ -17295,6 +19614,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17303,7 +19635,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(TargetTcpProxy request, core.String project) {
+  async.Future<Operation> insert(TargetTcpProxy request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17317,6 +19649,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetTcpProxies';
 
@@ -17445,6 +19780,19 @@
    * resource is to be set.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17453,7 +19801,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setBackendService(TargetTcpProxiesSetBackendServiceRequest request, core.String project, core.String targetTcpProxy) {
+  async.Future<Operation> setBackendService(TargetTcpProxiesSetBackendServiceRequest request, core.String project, core.String targetTcpProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17470,6 +19818,9 @@
     if (targetTcpProxy == null) {
       throw new core.ArgumentError("Parameter targetTcpProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetTcpProxies/' + commons.Escaper.ecapeVariable('$targetTcpProxy') + '/setBackendService';
 
@@ -17498,6 +19849,19 @@
    * to be set.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17506,7 +19870,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> setProxyHeader(TargetTcpProxiesSetProxyHeaderRequest request, core.String project, core.String targetTcpProxy) {
+  async.Future<Operation> setProxyHeader(TargetTcpProxiesSetProxyHeaderRequest request, core.String project, core.String targetTcpProxy, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17523,6 +19887,9 @@
     if (targetTcpProxy == null) {
       throw new core.ArgumentError("Parameter targetTcpProxy is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/targetTcpProxies/' + commons.Escaper.ecapeVariable('$targetTcpProxy') + '/setProxyHeader';
 
@@ -17659,6 +20026,19 @@
    * [targetVpnGateway] - Name of the target VPN gateway to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17667,7 +20047,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String targetVpnGateway) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String targetVpnGateway, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17684,6 +20064,9 @@
     if (targetVpnGateway == null) {
       throw new core.ArgumentError("Parameter targetVpnGateway is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVariable('$targetVpnGateway');
 
@@ -17766,6 +20149,19 @@
    * [region] - Name of the region for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17774,7 +20170,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(TargetVpnGateway request, core.String project, core.String region) {
+  async.Future<Operation> insert(TargetVpnGateway request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17791,6 +20187,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways';
 
@@ -17931,6 +20330,19 @@
    * [urlMap] - Name of the UrlMap resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -17939,7 +20351,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String urlMap) {
+  async.Future<Operation> delete(core.String project, core.String urlMap, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -17953,6 +20365,9 @@
     if (urlMap == null) {
       throw new core.ArgumentError("Parameter urlMap is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
 
@@ -18026,6 +20441,19 @@
    * Value must have pattern
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -18034,7 +20462,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(UrlMap request, core.String project) {
+  async.Future<Operation> insert(UrlMap request, core.String project, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -18048,6 +20476,9 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps';
 
@@ -18076,6 +20507,19 @@
    * [urlMap] - Name of the UrlMap scoping this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -18084,7 +20528,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> invalidateCache(CacheInvalidationRule request, core.String project, core.String urlMap) {
+  async.Future<Operation> invalidateCache(CacheInvalidationRule request, core.String project, core.String urlMap, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -18101,6 +20545,9 @@
     if (urlMap == null) {
       throw new core.ArgumentError("Parameter urlMap is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap') + '/invalidateCache';
 
@@ -18229,6 +20676,19 @@
    * [urlMap] - Name of the UrlMap resource to patch.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -18237,7 +20697,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> patch(UrlMap request, core.String project, core.String urlMap) {
+  async.Future<Operation> patch(UrlMap request, core.String project, core.String urlMap, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -18254,6 +20714,9 @@
     if (urlMap == null) {
       throw new core.ArgumentError("Parameter urlMap is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
 
@@ -18282,6 +20745,19 @@
    * [urlMap] - Name of the UrlMap resource to update.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -18290,7 +20766,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> update(UrlMap request, core.String project, core.String urlMap) {
+  async.Future<Operation> update(UrlMap request, core.String project, core.String urlMap, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -18307,6 +20783,9 @@
     if (urlMap == null) {
       throw new core.ArgumentError("Parameter urlMap is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
 
@@ -18497,6 +20976,19 @@
    * [vpnTunnel] - Name of the VpnTunnel resource to delete.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -18505,7 +20997,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> delete(core.String project, core.String region, core.String vpnTunnel) {
+  async.Future<Operation> delete(core.String project, core.String region, core.String vpnTunnel, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -18522,6 +21014,9 @@
     if (vpnTunnel == null) {
       throw new core.ArgumentError("Parameter vpnTunnel is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable('$vpnTunnel');
 
@@ -18604,6 +21099,19 @@
    * [region] - Name of the region for this request.
    * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
    *
+   * [requestId] - An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request ID,
+   * the server can check if original operation with the same request ID was
+   * received, and if so, will ignore the second request. This prevents clients
+   * from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   *
    * Completes with a [Operation].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -18612,7 +21120,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Operation> insert(VpnTunnel request, core.String project, core.String region) {
+  async.Future<Operation> insert(VpnTunnel request, core.String project, core.String region, {core.String requestId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -18629,6 +21137,9 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
+    if (requestId != null) {
+      _queryParams["requestId"] = [requestId];
+    }
 
     _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels';
 
@@ -21011,7 +23522,8 @@
    * TCP/SSL load balancing, the default is UTILIZATION. Valid values are
    * UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).
    *
-   * This cannot be used for internal load balancing.
+   * For Internal Load Balancing, the default and only supported mode is
+   * CONNECTION.
    * Possible string values are:
    * - "CONNECTION"
    * - "RATE"
@@ -21357,9 +23869,9 @@
   /**
    * The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
    * health checking this BackendService. Currently at most one health check can
-   * be specified, and a health check is required for GCE backend services. A
-   * health check must not be specified for GAE app backend and Cloud Function
-   * backend.
+   * be specified, and a health check is required for Compute Engine backend
+   * services. A health check must not be specified for App Engine backend and
+   * Cloud Function backend.
    *
    * For internal load balancing, a URL to a HealthCheck resource must be
    * specified instead.
@@ -21377,7 +23889,10 @@
    */
   core.String kind;
   /**
-   *
+   * Indicates whether the backend service will be used with internal or
+   * external load balancing. A backend service created for one type of load
+   * balancing cannot be used with the other. Possible values are INTERNAL and
+   * EXTERNAL.
    * Possible string values are:
    * - "EXTERNAL"
    * - "INTERNAL"
@@ -22741,7 +25256,7 @@
    *
    * If you specify this field along with sourceImage or sourceSnapshot, the
    * value of sizeGb must not be less than the size of the sourceImage or the
-   * size of the snapshot.
+   * size of the snapshot. Acceptable values are 1 to 65536, inclusive.
    */
   core.String sizeGb;
   /**
@@ -23675,8 +26190,8 @@
   /**
    * The IP protocol to which this rule applies. The protocol type is required
    * when creating a firewall rule. This value can either be one of the
-   * following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or
-   * the IP protocol number.
+   * following well known protocol strings (tcp, udp, icmp, esp, ah, ipip,
+   * sctp), or the IP protocol number.
    */
   core.String IPProtocol;
   /**
@@ -23712,6 +26227,47 @@
   }
 }
 
+class FirewallDenied {
+  /**
+   * The IP protocol to which this rule applies. The protocol type is required
+   * when creating a firewall rule. This value can either be one of the
+   * following well known protocol strings (tcp, udp, icmp, esp, ah, ipip,
+   * sctp), or the IP protocol number.
+   */
+  core.String IPProtocol;
+  /**
+   * An optional list of ports to which this rule applies. This field is only
+   * applicable for UDP or TCP protocol. Each entry must be either an integer or
+   * a range. If not specified, this rule applies to connections through any
+   * port.
+   *
+   * Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
+   */
+  core.List<core.String> ports;
+
+  FirewallDenied();
+
+  FirewallDenied.fromJson(core.Map _json) {
+    if (_json.containsKey("IPProtocol")) {
+      IPProtocol = _json["IPProtocol"];
+    }
+    if (_json.containsKey("ports")) {
+      ports = _json["ports"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (IPProtocol != null) {
+      _json["IPProtocol"] = IPProtocol;
+    }
+    if (ports != null) {
+      _json["ports"] = ports;
+    }
+    return _json;
+  }
+}
+
 /** Represents a Firewall resource. */
 class Firewall {
   /**
@@ -23722,11 +26278,32 @@
   /** [Output Only] Creation timestamp in RFC3339 text format. */
   core.String creationTimestamp;
   /**
+   * The list of DENY rules specified by this firewall. Each rule specifies a
+   * protocol and port-range tuple that describes a permitted connection.
+   */
+  core.List<FirewallDenied> denied;
+  /**
    * An optional description of this resource. Provide this property when you
    * create the resource.
    */
   core.String description;
   /**
+   * If destination ranges are specified, the firewall will apply only to
+   * traffic that has destination IP address in these ranges. These ranges must
+   * be expressed in CIDR format. Only IPv4 is supported.
+   */
+  core.List<core.String> destinationRanges;
+  /**
+   * Direction of traffic to which this firewall applies; default is INGRESS.
+   * Note: For INGRESS traffic, it is NOT supported to specify
+   * destinationRanges; For EGRESS traffic, it is NOT supported to specify
+   * sourceRanges OR sourceTags.
+   * Possible string values are:
+   * - "EGRESS"
+   * - "INGRESS"
+   */
+  core.String direction;
+  /**
    * [Output Only] The unique identifier for the resource. This identifier is
    * defined by the server.
    */
@@ -23758,6 +26335,15 @@
    * - global/networks/default
    */
   core.String network;
+  /**
+   * Priority for this rule. This is an integer between 0 and 65535, both
+   * inclusive. When not specified, the value assumed is 1000. Relative
+   * priorities determine precedence of conflicting rules. Lower value of
+   * priority implies higher precedence (eg, a rule with priority 0 has higher
+   * precedence than a rule with priority 1). DENY rules take precedence over
+   * ALLOW rules having equal priority.
+   */
+  core.int priority;
   /** [Output Only] Server-defined URL for the resource. */
   core.String selfLink;
   /**
@@ -23771,16 +26357,17 @@
    */
   core.List<core.String> sourceRanges;
   /**
-   * If source tags are specified, the firewall will apply only to traffic from
-   * VM instances in the same virtual network with a tag listed in the source
-   * tags. Source tags cannot be used to control traffic to an instance's
-   * external IP address, it only applies to traffic between instances in the
-   * same virtual network. Because tags are associated with instances, not IP
-   * addresses. One or both of sourceRanges and sourceTags may be set. If both
-   * properties are set, the firewall will apply to traffic that has source IP
-   * address within sourceRanges OR the source IP that belongs to a tag listed
-   * in the sourceTags property. The connection does not need to match both
-   * properties for the firewall to apply.
+   * If source tags are specified, the firewall rule applies only to traffic
+   * with source IPs that match the primary network interfaces of VM instances
+   * that have the tag and are in the same VPC network. Source tags cannot be
+   * used to control traffic to an instance's external IP address, it only
+   * applies to traffic between instances in the same virtual network. Because
+   * tags are associated with instances, not IP addresses. One or both of
+   * sourceRanges and sourceTags may be set. If both properties are set, the
+   * firewall will apply to traffic that has source IP address within
+   * sourceRanges OR the source IP that belongs to a tag listed in the
+   * sourceTags property. The connection does not need to match both properties
+   * for the firewall to apply.
    */
   core.List<core.String> sourceTags;
   /**
@@ -23800,9 +26387,18 @@
     if (_json.containsKey("creationTimestamp")) {
       creationTimestamp = _json["creationTimestamp"];
     }
+    if (_json.containsKey("denied")) {
+      denied = _json["denied"].map((value) => new FirewallDenied.fromJson(value)).toList();
+    }
     if (_json.containsKey("description")) {
       description = _json["description"];
     }
+    if (_json.containsKey("destinationRanges")) {
+      destinationRanges = _json["destinationRanges"];
+    }
+    if (_json.containsKey("direction")) {
+      direction = _json["direction"];
+    }
     if (_json.containsKey("id")) {
       id = _json["id"];
     }
@@ -23815,6 +26411,9 @@
     if (_json.containsKey("network")) {
       network = _json["network"];
     }
+    if (_json.containsKey("priority")) {
+      priority = _json["priority"];
+    }
     if (_json.containsKey("selfLink")) {
       selfLink = _json["selfLink"];
     }
@@ -23837,9 +26436,18 @@
     if (creationTimestamp != null) {
       _json["creationTimestamp"] = creationTimestamp;
     }
+    if (denied != null) {
+      _json["denied"] = denied.map((value) => (value).toJson()).toList();
+    }
     if (description != null) {
       _json["description"] = description;
     }
+    if (destinationRanges != null) {
+      _json["destinationRanges"] = destinationRanges;
+    }
+    if (direction != null) {
+      _json["direction"] = direction;
+    }
     if (id != null) {
       _json["id"] = id;
     }
@@ -23852,6 +26460,9 @@
     if (network != null) {
       _json["network"] = network;
     }
+    if (priority != null) {
+      _json["priority"] = priority;
+    }
     if (selfLink != null) {
       _json["selfLink"] = selfLink;
     }
@@ -24046,8 +26657,10 @@
    * Some types of forwarding target have constraints on the acceptable ports:
    * - TargetHttpProxy: 80, 8080
    * - TargetHttpsProxy: 443
-   * - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 5222
-   * - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 5222
+   * - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995,
+   * 1883, 5222
+   * - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995,
+   * 1883, 5222
    * - TargetVpnGateway: 500, 4500
    * -
    */
@@ -25978,9 +28591,9 @@
    */
   core.String name;
   /**
-   * An array of configurations for this interface. This specifies how this
-   * interface is configured to interact with other network services, such as
-   * connecting to the internet. Only one interface is supported per instance.
+   * An array of network configurations for this instance. These specify how
+   * interfaces are configured to interact with other network services, such as
+   * connecting to the internet. Multiple interfaces are supported per instance.
    */
   core.List<NetworkInterface> networkInterfaces;
   /** Sets the scheduling options for this instance. */
@@ -26003,8 +28616,8 @@
   core.bool startRestricted;
   /**
    * [Output Only] The status of the instance. One of the following values:
-   * PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and
-   * TERMINATED.
+   * PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED,
+   * and TERMINATED.
    * Possible string values are:
    * - "PROVISIONING"
    * - "RUNNING"
@@ -30700,6 +33313,8 @@
    * - "REGIONAL_INSTANCE_GROUP_MANAGERS"
    * - "ROUTERS"
    * - "ROUTES"
+   * - "SECURITY_POLICIES"
+   * - "SECURITY_POLICY_RULES"
    * - "SNAPSHOTS"
    * - "SSD_TOTAL_GB"
    * - "SSL_CERTIFICATES"
diff --git a/generated/googleapis/lib/container/v1.dart b/generated/googleapis/lib/container/v1.dart
index 734d702..87b169d 100644
--- a/generated/googleapis/lib/container/v1.dart
+++ b/generated/googleapis/lib/container/v1.dart
@@ -2675,7 +2675,7 @@
   core.String servicesIpv4Cidr;
   /**
    * A custom subnetwork name to be used if `create_subnetwork` is true.  If
-   * this field is empty, then an automatic name will choosen for the new
+   * this field is empty, then an automatic name will be chosen for the new
    * subnetwork.
    */
   core.String subnetworkName;
diff --git a/generated/googleapis/lib/content/v2.dart b/generated/googleapis/lib/content/v2.dart
index 30f3ca1..bf23b8c 100644
--- a/generated/googleapis/lib/content/v2.dart
+++ b/generated/googleapis/lib/content/v2.dart
@@ -3224,6 +3224,8 @@
 class AccountStatus {
   /** The ID of the account for which the status is reported. */
   core.String accountId;
+  /** A list of account level issues. */
+  core.List<AccountStatusAccountLevelIssue> accountLevelIssues;
   /** A list of data quality issues. */
   core.List<AccountStatusDataQualityIssue> dataQualityIssues;
   /**
@@ -3240,6 +3242,9 @@
     if (_json.containsKey("accountId")) {
       accountId = _json["accountId"];
     }
+    if (_json.containsKey("accountLevelIssues")) {
+      accountLevelIssues = _json["accountLevelIssues"].map((value) => new AccountStatusAccountLevelIssue.fromJson(value)).toList();
+    }
     if (_json.containsKey("dataQualityIssues")) {
       dataQualityIssues = _json["dataQualityIssues"].map((value) => new AccountStatusDataQualityIssue.fromJson(value)).toList();
     }
@@ -3256,6 +3261,9 @@
     if (accountId != null) {
       _json["accountId"] = accountId;
     }
+    if (accountLevelIssues != null) {
+      _json["accountLevelIssues"] = accountLevelIssues.map((value) => (value).toJson()).toList();
+    }
     if (dataQualityIssues != null) {
       _json["dataQualityIssues"] = dataQualityIssues.map((value) => (value).toJson()).toList();
     }
@@ -3269,6 +3277,59 @@
   }
 }
 
+class AccountStatusAccountLevelIssue {
+  /** Country for which this issue is reported. */
+  core.String country;
+  /** Additional details about the issue. */
+  core.String detail;
+  /** Issue identifier. */
+  core.String id;
+  /** Severity of the issue. */
+  core.String severity;
+  /** Short description of the issue. */
+  core.String title;
+
+  AccountStatusAccountLevelIssue();
+
+  AccountStatusAccountLevelIssue.fromJson(core.Map _json) {
+    if (_json.containsKey("country")) {
+      country = _json["country"];
+    }
+    if (_json.containsKey("detail")) {
+      detail = _json["detail"];
+    }
+    if (_json.containsKey("id")) {
+      id = _json["id"];
+    }
+    if (_json.containsKey("severity")) {
+      severity = _json["severity"];
+    }
+    if (_json.containsKey("title")) {
+      title = _json["title"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (country != null) {
+      _json["country"] = country;
+    }
+    if (detail != null) {
+      _json["detail"] = detail;
+    }
+    if (id != null) {
+      _json["id"] = id;
+    }
+    if (severity != null) {
+      _json["severity"] = severity;
+    }
+    if (title != null) {
+      _json["title"] = title;
+    }
+    return _json;
+  }
+}
+
 class AccountStatusDataQualityIssue {
   /** Country for which this issue is reported. */
   core.String country;
diff --git a/generated/googleapis/lib/dataproc/v1.dart b/generated/googleapis/lib/dataproc/v1.dart
index 2ee5301..cab8750 100644
--- a/generated/googleapis/lib/dataproc/v1.dart
+++ b/generated/googleapis/lib/dataproc/v1.dart
@@ -278,8 +278,6 @@
    * [region] - Required. The Cloud Dataproc region in which to handle the
    * request.
    *
-   * [pageToken] - Optional. The standard List page token.
-   *
    * [pageSize] - Optional. The standard List page size.
    *
    * [filter] - Optional. A filter constraining the clusters to list. Filters
@@ -294,6 +292,8 @@
    * implicit AND operator.Example filter:status.state = ACTIVE AND clusterName
    * = mycluster AND labels.env = staging AND labels.starred = *
    *
+   * [pageToken] - Optional. The standard List page token.
+   *
    * Completes with a [ListClustersResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -302,7 +302,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListClustersResponse> list(core.String projectId, core.String region, {core.String pageToken, core.int pageSize, core.String filter}) {
+  async.Future<ListClustersResponse> list(core.String projectId, core.String region, {core.int pageSize, core.String filter, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -316,15 +316,15 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
 
     _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/clusters';
 
@@ -609,11 +609,6 @@
    * [region] - Required. The Cloud Dataproc region in which to handle the
    * request.
    *
-   * [pageSize] - Optional. The number of results to return in each response.
-   *
-   * [clusterName] - Optional. If set, the returned jobs list includes only jobs
-   * that were submitted to the named cluster.
-   *
    * [filter] - Optional. A filter constraining the jobs to list. Filters are
    * case-sensitive and have the following syntax:field = value AND field =
    * value ...where field is status.state or labels.[KEY], and [KEY] is a label
@@ -633,6 +628,11 @@
    * [pageToken] - Optional. The page token, returned by a previous call, to
    * request the next page of results.
    *
+   * [pageSize] - Optional. The number of results to return in each response.
+   *
+   * [clusterName] - Optional. If set, the returned jobs list includes only jobs
+   * that were submitted to the named cluster.
+   *
    * Completes with a [ListJobsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -641,7 +641,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListJobsResponse> list(core.String projectId, core.String region, {core.int pageSize, core.String clusterName, core.String filter, core.String jobStateMatcher, core.String pageToken}) {
+  async.Future<ListJobsResponse> list(core.String projectId, core.String region, {core.String filter, core.String jobStateMatcher, core.String pageToken, core.int pageSize, core.String clusterName}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -655,12 +655,6 @@
     if (region == null) {
       throw new core.ArgumentError("Parameter region is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
-    if (clusterName != null) {
-      _queryParams["clusterName"] = [clusterName];
-    }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
@@ -670,6 +664,12 @@
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
+    if (clusterName != null) {
+      _queryParams["clusterName"] = [clusterName];
+    }
 
     _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/jobs';
 
diff --git a/generated/googleapis/lib/datastore/v1.dart b/generated/googleapis/lib/datastore/v1.dart
index 49f6ce6..5564ca0 100644
--- a/generated/googleapis/lib/datastore/v1.dart
+++ b/generated/googleapis/lib/datastore/v1.dart
@@ -38,6 +38,8 @@
 class ProjectsResourceApi {
   final commons.ApiRequester _requester;
 
+  ProjectsOperationsResourceApi get operations => new ProjectsOperationsResourceApi(_requester);
+
   ProjectsResourceApi(commons.ApiRequester client) : 
       _requester = client;
 
@@ -310,6 +312,213 @@
 }
 
 
+class ProjectsOperationsResourceApi {
+  final commons.ApiRequester _requester;
+
+  ProjectsOperationsResourceApi(commons.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * 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`.
+   *
+   * Request parameters:
+   *
+   * [name] - The name of the operation resource to be cancelled.
+   * Value must have pattern "^projects/[^/]+/operations/[^/]+$".
+   *
+   * Completes with a [Empty].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<Empty> cancel(core.String name) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (name == null) {
+      throw new core.ArgumentError("Parameter name is required.");
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + ':cancel';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new Empty.fromJson(data));
+  }
+
+  /**
+   * Deletes a long-running operation. This method indicates that the client is
+   * no longer interested in the operation result. It does not cancel the
+   * operation. If the server doesn't support this method, it returns
+   * `google.rpc.Code.UNIMPLEMENTED`.
+   *
+   * Request parameters:
+   *
+   * [name] - The name of the operation resource to be deleted.
+   * Value must have pattern "^projects/[^/]+/operations/[^/]+$".
+   *
+   * Completes with a [Empty].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<Empty> delete(core.String name) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (name == null) {
+      throw new core.ArgumentError("Parameter name is required.");
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
+
+    var _response = _requester.request(_url,
+                                       "DELETE",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new Empty.fromJson(data));
+  }
+
+  /**
+   * 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.
+   *
+   * Request parameters:
+   *
+   * [name] - The name of the operation resource.
+   * Value must have pattern "^projects/[^/]+/operations/[^/]+$".
+   *
+   * Completes with a [GoogleLongrunningOperation].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<GoogleLongrunningOperation> get(core.String name) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (name == null) {
+      throw new core.ArgumentError("Parameter name is required.");
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new GoogleLongrunningOperation.fromJson(data));
+  }
+
+  /**
+   * Lists operations that match the specified filter in the request. If the
+   * server doesn't support this method, it returns `UNIMPLEMENTED`.
+   *
+   * NOTE: the `name` binding allows API services to override the binding
+   * to use different resource name schemes, such as `users / * /operations`. To
+   * override the binding, API services can add a binding such as
+   * `"/v1/{name=users / * }/operations"` to their service configuration.
+   * For backwards compatibility, the default name includes the operations
+   * collection id, however overriding users must ensure the name binding
+   * is the parent resource, without the operations collection id.
+   *
+   * Request parameters:
+   *
+   * [name] - The name of the operation's parent resource.
+   * Value must have pattern "^projects/[^/]+$".
+   *
+   * [pageSize] - The standard list page size.
+   *
+   * [filter] - The standard list filter.
+   *
+   * [pageToken] - The standard list page token.
+   *
+   * Completes with a [GoogleLongrunningListOperationsResponse].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<GoogleLongrunningListOperationsResponse> list(core.String name, {core.int pageSize, core.String filter, core.String pageToken}) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (name == null) {
+      throw new core.ArgumentError("Parameter name is required.");
+    }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/operations';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new GoogleLongrunningListOperationsResponse.fromJson(data));
+  }
+
+}
+
+
 
 /** The request for Datastore.AllocateIds. */
 class AllocateIdsRequest {
@@ -389,14 +598,22 @@
 
 /** The request for Datastore.BeginTransaction. */
 class BeginTransactionRequest {
+  /** Options for a new transaction. */
+  TransactionOptions transactionOptions;
 
   BeginTransactionRequest();
 
   BeginTransactionRequest.fromJson(core.Map _json) {
+    if (_json.containsKey("transactionOptions")) {
+      transactionOptions = new TransactionOptions.fromJson(_json["transactionOptions"]);
+    }
   }
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (transactionOptions != null) {
+      _json["transactionOptions"] = (transactionOptions).toJson();
+    }
     return _json;
   }
 }
@@ -578,6 +795,30 @@
 }
 
 /**
+ * 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 `{}`.
+ */
+class Empty {
+
+  Empty();
+
+  Empty.fromJson(core.Map _json) {
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    return _json;
+  }
+}
+
+/**
  * A Datastore data object.
  *
  * An entity is limited to 1 megabyte when stored. That _roughly_
@@ -715,6 +956,442 @@
   }
 }
 
+/** Metadata common to all Datastore Admin operations. */
+class GoogleDatastoreAdminV1beta1CommonMetadata {
+  /** The time the operation ended, either successfully or otherwise. */
+  core.String endTime;
+  /**
+   * The client-assigned labels which were provided when the operation was
+   * created.  May also include additional labels.
+   */
+  core.Map<core.String, core.String> labels;
+  /**
+   * The type of the operation.  Can be used as a filter in
+   * ListOperationsRequest.
+   * Possible string values are:
+   * - "OPERATION_TYPE_UNSPECIFIED" : Unspecified.
+   * - "EXPORT_ENTITIES" : ExportEntities.
+   * - "IMPORT_ENTITIES" : ImportEntities.
+   * - "BUILD_INDEX" : Build an index.
+   * - "CLEAR_INDEX" : Clear an index.
+   */
+  core.String operationType;
+  /** The time that work began on the operation. */
+  core.String startTime;
+  /**
+   * The current state of the Operation.
+   * Possible string values are:
+   * - "STATE_UNSPECIFIED" : Unspecified.
+   * - "INITIALIZING" : Request is being prepared for processing.
+   * - "PROCESSING" : Request is actively being processed.
+   * - "CANCELLING" : Request is in the process of being cancelled after user
+   * called
+   * longrunning.Operations.CancelOperation on the operation.
+   * - "FINALIZING" : Request has been processed and is in its finalization
+   * stage.
+   * - "SUCCESSFUL" : Request has completed successfully.
+   * - "FAILED" : Request has finished being processed, but encountered an
+   * error.
+   * - "CANCELLED" : Request has finished being cancelled after user called
+   * longrunning.Operations.CancelOperation.
+   */
+  core.String state;
+
+  GoogleDatastoreAdminV1beta1CommonMetadata();
+
+  GoogleDatastoreAdminV1beta1CommonMetadata.fromJson(core.Map _json) {
+    if (_json.containsKey("endTime")) {
+      endTime = _json["endTime"];
+    }
+    if (_json.containsKey("labels")) {
+      labels = _json["labels"];
+    }
+    if (_json.containsKey("operationType")) {
+      operationType = _json["operationType"];
+    }
+    if (_json.containsKey("startTime")) {
+      startTime = _json["startTime"];
+    }
+    if (_json.containsKey("state")) {
+      state = _json["state"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (endTime != null) {
+      _json["endTime"] = endTime;
+    }
+    if (labels != null) {
+      _json["labels"] = labels;
+    }
+    if (operationType != null) {
+      _json["operationType"] = operationType;
+    }
+    if (startTime != null) {
+      _json["startTime"] = startTime;
+    }
+    if (state != null) {
+      _json["state"] = state;
+    }
+    return _json;
+  }
+}
+
+/**
+ * Identifies a subset of entities in a project.  This is specified as
+ * combinations of kind + namespace (either or both of which may be all, as
+ * described in the following examples).
+ * Example usage:
+ *
+ * Entire project:
+ *   kinds=[], namespace_ids=[]
+ *
+ * Kinds Foo and Bar in all namespaces:
+ *   kinds=['Foo', 'Bar'], namespace_ids=[]
+ *
+ * Kinds Foo and Bar only in the default namespace:
+ *   kinds=['Foo', 'Bar'], namespace_ids=['']
+ *
+ * Kinds Foo and Bar in both the default and Baz namespaces:
+ *   kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']
+ *
+ * The entire Baz namespace:
+ *   kinds=[], namespace_ids=['Baz']
+ */
+class GoogleDatastoreAdminV1beta1EntityFilter {
+  /** If empty, then this represents all kinds. */
+  core.List<core.String> kinds;
+  /**
+   * An empty list represents all namespaces.  This is the preferred
+   * usage for projects that don't use namespaces.
+   *
+   * An empty string element represents the default namespace.  This should be
+   * used if the project has data in non-default namespaces, but doesn't want to
+   * include them.
+   * Each namespace in this list must be unique.
+   */
+  core.List<core.String> namespaceIds;
+
+  GoogleDatastoreAdminV1beta1EntityFilter();
+
+  GoogleDatastoreAdminV1beta1EntityFilter.fromJson(core.Map _json) {
+    if (_json.containsKey("kinds")) {
+      kinds = _json["kinds"];
+    }
+    if (_json.containsKey("namespaceIds")) {
+      namespaceIds = _json["namespaceIds"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (kinds != null) {
+      _json["kinds"] = kinds;
+    }
+    if (namespaceIds != null) {
+      _json["namespaceIds"] = namespaceIds;
+    }
+    return _json;
+  }
+}
+
+/** Metadata for ExportEntities operations. */
+class GoogleDatastoreAdminV1beta1ExportEntitiesMetadata {
+  /** Metadata common to all Datastore Admin operations. */
+  GoogleDatastoreAdminV1beta1CommonMetadata common;
+  /** Description of which entities are being exported. */
+  GoogleDatastoreAdminV1beta1EntityFilter entityFilter;
+  /**
+   * Location for the export metadata and data files. This will be the same
+   * value as the
+   * google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix
+   * field. The final output location is provided in
+   * google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.
+   */
+  core.String outputUrlPrefix;
+  /** An estimate of the number of bytes processed. */
+  GoogleDatastoreAdminV1beta1Progress progressBytes;
+  /** An estimate of the number of entities processed. */
+  GoogleDatastoreAdminV1beta1Progress progressEntities;
+
+  GoogleDatastoreAdminV1beta1ExportEntitiesMetadata();
+
+  GoogleDatastoreAdminV1beta1ExportEntitiesMetadata.fromJson(core.Map _json) {
+    if (_json.containsKey("common")) {
+      common = new GoogleDatastoreAdminV1beta1CommonMetadata.fromJson(_json["common"]);
+    }
+    if (_json.containsKey("entityFilter")) {
+      entityFilter = new GoogleDatastoreAdminV1beta1EntityFilter.fromJson(_json["entityFilter"]);
+    }
+    if (_json.containsKey("outputUrlPrefix")) {
+      outputUrlPrefix = _json["outputUrlPrefix"];
+    }
+    if (_json.containsKey("progressBytes")) {
+      progressBytes = new GoogleDatastoreAdminV1beta1Progress.fromJson(_json["progressBytes"]);
+    }
+    if (_json.containsKey("progressEntities")) {
+      progressEntities = new GoogleDatastoreAdminV1beta1Progress.fromJson(_json["progressEntities"]);
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (common != null) {
+      _json["common"] = (common).toJson();
+    }
+    if (entityFilter != null) {
+      _json["entityFilter"] = (entityFilter).toJson();
+    }
+    if (outputUrlPrefix != null) {
+      _json["outputUrlPrefix"] = outputUrlPrefix;
+    }
+    if (progressBytes != null) {
+      _json["progressBytes"] = (progressBytes).toJson();
+    }
+    if (progressEntities != null) {
+      _json["progressEntities"] = (progressEntities).toJson();
+    }
+    return _json;
+  }
+}
+
+/**
+ * The response for
+ * google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.
+ */
+class GoogleDatastoreAdminV1beta1ExportEntitiesResponse {
+  /**
+   * Location of the output metadata file. This can be used to begin an import
+   * into Cloud Datastore (this project or another project). See
+   * google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url.
+   * Only present if the operation completed successfully.
+   */
+  core.String outputUrl;
+
+  GoogleDatastoreAdminV1beta1ExportEntitiesResponse();
+
+  GoogleDatastoreAdminV1beta1ExportEntitiesResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("outputUrl")) {
+      outputUrl = _json["outputUrl"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (outputUrl != null) {
+      _json["outputUrl"] = outputUrl;
+    }
+    return _json;
+  }
+}
+
+/** Metadata for ImportEntities operations. */
+class GoogleDatastoreAdminV1beta1ImportEntitiesMetadata {
+  /** Metadata common to all Datastore Admin operations. */
+  GoogleDatastoreAdminV1beta1CommonMetadata common;
+  /** Description of which entities are being imported. */
+  GoogleDatastoreAdminV1beta1EntityFilter entityFilter;
+  /**
+   * The location of the import metadata file. This will be the same value as
+   * the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url
+   * field.
+   */
+  core.String inputUrl;
+  /** An estimate of the number of bytes processed. */
+  GoogleDatastoreAdminV1beta1Progress progressBytes;
+  /** An estimate of the number of entities processed. */
+  GoogleDatastoreAdminV1beta1Progress progressEntities;
+
+  GoogleDatastoreAdminV1beta1ImportEntitiesMetadata();
+
+  GoogleDatastoreAdminV1beta1ImportEntitiesMetadata.fromJson(core.Map _json) {
+    if (_json.containsKey("common")) {
+      common = new GoogleDatastoreAdminV1beta1CommonMetadata.fromJson(_json["common"]);
+    }
+    if (_json.containsKey("entityFilter")) {
+      entityFilter = new GoogleDatastoreAdminV1beta1EntityFilter.fromJson(_json["entityFilter"]);
+    }
+    if (_json.containsKey("inputUrl")) {
+      inputUrl = _json["inputUrl"];
+    }
+    if (_json.containsKey("progressBytes")) {
+      progressBytes = new GoogleDatastoreAdminV1beta1Progress.fromJson(_json["progressBytes"]);
+    }
+    if (_json.containsKey("progressEntities")) {
+      progressEntities = new GoogleDatastoreAdminV1beta1Progress.fromJson(_json["progressEntities"]);
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (common != null) {
+      _json["common"] = (common).toJson();
+    }
+    if (entityFilter != null) {
+      _json["entityFilter"] = (entityFilter).toJson();
+    }
+    if (inputUrl != null) {
+      _json["inputUrl"] = inputUrl;
+    }
+    if (progressBytes != null) {
+      _json["progressBytes"] = (progressBytes).toJson();
+    }
+    if (progressEntities != null) {
+      _json["progressEntities"] = (progressEntities).toJson();
+    }
+    return _json;
+  }
+}
+
+/** Measures the progress of a particular metric. */
+class GoogleDatastoreAdminV1beta1Progress {
+  /** Note that this may be greater than work_estimated. */
+  core.String workCompleted;
+  /**
+   * An estimate of how much work needs to be performed.  May be zero if the
+   * work estimate is unavailable.
+   */
+  core.String workEstimated;
+
+  GoogleDatastoreAdminV1beta1Progress();
+
+  GoogleDatastoreAdminV1beta1Progress.fromJson(core.Map _json) {
+    if (_json.containsKey("workCompleted")) {
+      workCompleted = _json["workCompleted"];
+    }
+    if (_json.containsKey("workEstimated")) {
+      workEstimated = _json["workEstimated"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (workCompleted != null) {
+      _json["workCompleted"] = workCompleted;
+    }
+    if (workEstimated != null) {
+      _json["workEstimated"] = workEstimated;
+    }
+    return _json;
+  }
+}
+
+/** The response message for Operations.ListOperations. */
+class GoogleLongrunningListOperationsResponse {
+  /** The standard List next-page token. */
+  core.String nextPageToken;
+  /** A list of operations that matches the specified filter in the request. */
+  core.List<GoogleLongrunningOperation> operations;
+
+  GoogleLongrunningListOperationsResponse();
+
+  GoogleLongrunningListOperationsResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("nextPageToken")) {
+      nextPageToken = _json["nextPageToken"];
+    }
+    if (_json.containsKey("operations")) {
+      operations = _json["operations"].map((value) => new GoogleLongrunningOperation.fromJson(value)).toList();
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (nextPageToken != null) {
+      _json["nextPageToken"] = nextPageToken;
+    }
+    if (operations != null) {
+      _json["operations"] = operations.map((value) => (value).toJson()).toList();
+    }
+    return _json;
+  }
+}
+
+/**
+ * This resource represents a long-running operation that is the result of a
+ * network API call.
+ */
+class GoogleLongrunningOperation {
+  /**
+   * 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.
+   */
+  core.bool done;
+  /** The error result of the operation in case of failure or cancellation. */
+  Status error;
+  /**
+   * 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.
+   *
+   * The values for Object must be JSON objects. It can consist of `num`,
+   * `String`, `bool` and `null` as well as `Map` and `List` values.
+   */
+  core.Map<core.String, core.Object> metadata;
+  /**
+   * 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 have the format of `operations/some/unique/name`.
+   */
+  core.String name;
+  /**
+   * 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`.
+   *
+   * The values for Object must be JSON objects. It can consist of `num`,
+   * `String`, `bool` and `null` as well as `Map` and `List` values.
+   */
+  core.Map<core.String, core.Object> response;
+
+  GoogleLongrunningOperation();
+
+  GoogleLongrunningOperation.fromJson(core.Map _json) {
+    if (_json.containsKey("done")) {
+      done = _json["done"];
+    }
+    if (_json.containsKey("error")) {
+      error = new Status.fromJson(_json["error"]);
+    }
+    if (_json.containsKey("metadata")) {
+      metadata = _json["metadata"];
+    }
+    if (_json.containsKey("name")) {
+      name = _json["name"];
+    }
+    if (_json.containsKey("response")) {
+      response = _json["response"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (done != null) {
+      _json["done"] = done;
+    }
+    if (error != null) {
+      _json["error"] = (error).toJson();
+    }
+    if (metadata != null) {
+      _json["metadata"] = metadata;
+    }
+    if (name != null) {
+      _json["name"] = name;
+    }
+    if (response != null) {
+      _json["response"] = response;
+    }
+    return _json;
+  }
+}
+
 /**
  * A [GQL
  * query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
@@ -1656,6 +2333,20 @@
   }
 }
 
+/** Options specific to read-only transactions. */
+class ReadOnly {
+
+  ReadOnly();
+
+  ReadOnly.fromJson(core.Map _json) {
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    return _json;
+  }
+}
+
 /** The options shared by read requests. */
 class ReadOptions {
   /**
@@ -1705,6 +2396,35 @@
   }
 }
 
+/** Options specific to read / write transactions. */
+class ReadWrite {
+  /** The transaction identifier of the transaction being retried. */
+  core.String previousTransaction;
+  core.List<core.int> get previousTransactionAsBytes {
+    return convert.BASE64.decode(previousTransaction);
+  }
+
+  void set previousTransactionAsBytes(core.List<core.int> _bytes) {
+    previousTransaction = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+  }
+
+  ReadWrite();
+
+  ReadWrite.fromJson(core.Map _json) {
+    if (_json.containsKey("previousTransaction")) {
+      previousTransaction = _json["previousTransaction"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (previousTransaction != null) {
+      _json["previousTransaction"] = previousTransaction;
+    }
+    return _json;
+  }
+}
+
 /** The request for Datastore.Rollback. */
 class RollbackRequest {
   /**
@@ -1836,6 +2556,145 @@
 }
 
 /**
+ * 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). The error model is designed to be:
+ *
+ * - Simple to use and understand for most users
+ * - Flexible enough to meet unexpected needs
+ *
+ * # Overview
+ *
+ * The `Status` message contains three pieces of data: error code, error
+ * message,
+ * and error details. The error code should be an enum value of
+ * google.rpc.Code, but it may accept additional error codes if needed.  The
+ * error message should be a developer-facing English message that helps
+ * developers *understand* and *resolve* the error. If a localized user-facing
+ * error message is needed, put the localized message in the error details or
+ * localize it in the client. The optional error details may contain arbitrary
+ * information about the error. There is a predefined set of error detail types
+ * in the package `google.rpc` that can be used for common error conditions.
+ *
+ * # Language mapping
+ *
+ * The `Status` message is the logical representation of the error model, but it
+ * is not necessarily the actual wire format. When the `Status` message is
+ * exposed in different client libraries and different wire protocols, it can be
+ * mapped differently. For example, it will likely be mapped to some exceptions
+ * in Java, but more likely mapped to some error codes in C.
+ *
+ * # Other uses
+ *
+ * The error model and the `Status` message can be used in a variety of
+ * environments, either with or without APIs, to provide a
+ * consistent developer experience across different environments.
+ *
+ * Example uses of this error model include:
+ *
+ * - Partial errors. If a service needs to return partial errors to the client,
+ *     it may embed the `Status` in the normal response to indicate the partial
+ *     errors.
+ *
+ * - Workflow errors. A typical workflow has multiple steps. Each step may
+ *     have a `Status` message for error reporting.
+ *
+ * - Batch operations. If a client uses batch request and batch response, the
+ *     `Status` message should be used directly inside batch response, one for
+ *     each error sub-response.
+ *
+ * - Asynchronous operations. If an API call embeds asynchronous operation
+ *     results in its response, the status of those operations should be
+ *     represented directly using the `Status` message.
+ *
+ * - Logging. If some API errors are stored in logs, the message `Status` could
+ * be used directly after any stripping needed for security/privacy reasons.
+ */
+class Status {
+  /** The status code, which should be an enum value of google.rpc.Code. */
+  core.int code;
+  /**
+   * A list of messages that carry the error details.  There is a common set of
+   * message types for APIs to use.
+   *
+   * The values for Object must be JSON objects. It can consist of `num`,
+   * `String`, `bool` and `null` as well as `Map` and `List` values.
+   */
+  core.List<core.Map<core.String, core.Object>> details;
+  /**
+   * 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.
+   */
+  core.String message;
+
+  Status();
+
+  Status.fromJson(core.Map _json) {
+    if (_json.containsKey("code")) {
+      code = _json["code"];
+    }
+    if (_json.containsKey("details")) {
+      details = _json["details"];
+    }
+    if (_json.containsKey("message")) {
+      message = _json["message"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (code != null) {
+      _json["code"] = code;
+    }
+    if (details != null) {
+      _json["details"] = details;
+    }
+    if (message != null) {
+      _json["message"] = message;
+    }
+    return _json;
+  }
+}
+
+/**
+ * Options for beginning a new transaction.
+ *
+ * Transactions can be created explicitly with calls to
+ * Datastore.BeginTransaction or implicitly by setting
+ * ReadOptions.new_transaction in read requests.
+ */
+class TransactionOptions {
+  /** The transaction should only allow reads. */
+  ReadOnly readOnly;
+  /** The transaction should allow both reads and writes. */
+  ReadWrite readWrite;
+
+  TransactionOptions();
+
+  TransactionOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("readOnly")) {
+      readOnly = new ReadOnly.fromJson(_json["readOnly"]);
+    }
+    if (_json.containsKey("readWrite")) {
+      readWrite = new ReadWrite.fromJson(_json["readWrite"]);
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (readOnly != null) {
+      _json["readOnly"] = (readOnly).toJson();
+    }
+    if (readWrite != null) {
+      _json["readWrite"] = (readWrite).toJson();
+    }
+    return _json;
+  }
+}
+
+/**
  * A message that can hold any of the supported value types and associated
  * metadata.
  */
diff --git a/generated/googleapis/lib/deploymentmanager/v2.dart b/generated/googleapis/lib/deploymentmanager/v2.dart
index 97e762d..0004a60 100644
--- a/generated/googleapis/lib/deploymentmanager/v2.dart
+++ b/generated/googleapis/lib/deploymentmanager/v2.dart
@@ -221,7 +221,7 @@
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
    * [resource] - Name of the resource for this request.
-   * Value must have pattern "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?".
+   * Value must have pattern "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?".
    *
    * Completes with a [Policy].
    *
@@ -512,7 +512,7 @@
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
    * [resource] - Name of the resource for this request.
-   * Value must have pattern "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?".
+   * Value must have pattern "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?".
    *
    * Completes with a [Policy].
    *
@@ -617,7 +617,7 @@
    * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
    *
    * [resource] - Name of the resource for this request.
-   * Value must have pattern "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?".
+   * Value must have pattern "(?:[-a-z0-9_]{0,62}[a-z0-9])?".
    *
    * Completes with a [TestPermissionsResponse].
    *
@@ -1443,6 +1443,28 @@
   }
 }
 
+/** Authorization-related information used by Cloud Audit Logging. */
+class AuthorizationLoggingOptions {
+  /** The type of the permission that was checked. */
+  core.String permissionType;
+
+  AuthorizationLoggingOptions();
+
+  AuthorizationLoggingOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("permissionType")) {
+      permissionType = _json["permissionType"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (permissionType != null) {
+      _json["permissionType"] = permissionType;
+    }
+    return _json;
+  }
+}
+
 /** Associates `members` with a `role`. */
 class Binding {
   /**
@@ -2066,6 +2088,8 @@
   LogConfigCloudAuditOptions cloudAudit;
   /** Counter options. */
   LogConfigCounterOptions counter;
+  /** Data access options. */
+  LogConfigDataAccessOptions dataAccess;
 
   LogConfig();
 
@@ -2076,6 +2100,9 @@
     if (_json.containsKey("counter")) {
       counter = new LogConfigCounterOptions.fromJson(_json["counter"]);
     }
+    if (_json.containsKey("dataAccess")) {
+      dataAccess = new LogConfigDataAccessOptions.fromJson(_json["dataAccess"]);
+    }
   }
 
   core.Map<core.String, core.Object> toJson() {
@@ -2086,18 +2113,26 @@
     if (counter != null) {
       _json["counter"] = (counter).toJson();
     }
+    if (dataAccess != null) {
+      _json["dataAccess"] = (dataAccess).toJson();
+    }
     return _json;
   }
 }
 
 /** Write a Cloud Audit log */
 class LogConfigCloudAuditOptions {
+  /** Information used by the Cloud Audit Logging pipeline. */
+  AuthorizationLoggingOptions authorizationLoggingOptions;
   /** The log_name to populate in the Cloud Audit Record. */
   core.String logName;
 
   LogConfigCloudAuditOptions();
 
   LogConfigCloudAuditOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("authorizationLoggingOptions")) {
+      authorizationLoggingOptions = new AuthorizationLoggingOptions.fromJson(_json["authorizationLoggingOptions"]);
+    }
     if (_json.containsKey("logName")) {
       logName = _json["logName"];
     }
@@ -2105,6 +2140,9 @@
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (authorizationLoggingOptions != null) {
+      _json["authorizationLoggingOptions"] = (authorizationLoggingOptions).toJson();
+    }
     if (logName != null) {
       _json["logName"] = logName;
     }
@@ -2112,7 +2150,28 @@
   }
 }
 
-/** Options for counters */
+/**
+ * Increment a streamz counter with the specified metric and field names.
+ *
+ * Metric names should start with a '/', generally be lowercase-only, and end in
+ * "_count". Field names should not contain an initial slash. The actual
+ * exported metric names will have "/iam/policy" prepended.
+ *
+ * Field names correspond to IAM request parameters and field values are their
+ * respective values.
+ *
+ * At present the only supported field names are - "iam_principal",
+ * corresponding to IAMContext.principal; - "" (empty string), resulting in one
+ * aggretated counter with no field.
+ *
+ * Examples: counter { metric: "/debug_access_count" field: "iam_principal" }
+ * ==> increment counter /iam/policy/backend_debug_access_count
+ * {iam_principal=[value of IAMContext.principal]}
+ *
+ * At this time we do not support: * multiple field names (though this may be
+ * supported in the future) * decrementing the counter * incrementing it by
+ * anything other than 1
+ */
 class LogConfigCounterOptions {
   /** The field value to attribute. */
   core.String field;
@@ -2142,6 +2201,31 @@
   }
 }
 
+/** Write a Data Access (Gin) log */
+class LogConfigDataAccessOptions {
+  /**
+   * Whether Gin logging should happen in a fail-closed manner at the caller.
+   * This is relevant only in the LocalIAM implementation, for now.
+   */
+  core.String logMode;
+
+  LogConfigDataAccessOptions();
+
+  LogConfigDataAccessOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("logMode")) {
+      logMode = _json["logMode"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (logMode != null) {
+      _json["logMode"] = logMode;
+    }
+    return _json;
+  }
+}
+
 class Manifest {
   /** [Output Only] The YAML configuration for this manifest. */
   ConfigFile config;
diff --git a/generated/googleapis/lib/firebasedynamiclinks/v1.dart b/generated/googleapis/lib/firebasedynamiclinks/v1.dart
index 81e7189..f895227 100644
--- a/generated/googleapis/lib/firebasedynamiclinks/v1.dart
+++ b/generated/googleapis/lib/firebasedynamiclinks/v1.dart
@@ -25,7 +25,7 @@
   ShortLinksResourceApi get shortLinks => new ShortLinksResourceApi(_requester);
   V1ResourceApi get v1 => new V1ResourceApi(_requester);
 
-  FirebasedynamiclinksApi(http.Client client, {core.String rootUrl: "https://firebasedynamiclinks.googleapis.com/", core.String servicePath: ""}) :
+  FirebasedynamiclinksApi(http.Client client, {core.String rootUrl: "https://firebasedynamiclinks-ipv6.googleapis.com/", core.String servicePath: ""}) :
       _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
 }
 
@@ -541,6 +541,8 @@
    * match with the given iOS store ID.
    */
   core.String warningCode;
+  /** The document describing the warning, and helps resolve. */
+  core.String warningDocumentLink;
   /** The warning message to help developers improve their requests. */
   core.String warningMessage;
 
@@ -550,6 +552,9 @@
     if (_json.containsKey("warningCode")) {
       warningCode = _json["warningCode"];
     }
+    if (_json.containsKey("warningDocumentLink")) {
+      warningDocumentLink = _json["warningDocumentLink"];
+    }
     if (_json.containsKey("warningMessage")) {
       warningMessage = _json["warningMessage"];
     }
@@ -560,6 +565,9 @@
     if (warningCode != null) {
       _json["warningCode"] = warningCode;
     }
+    if (warningDocumentLink != null) {
+      _json["warningDocumentLink"] = warningDocumentLink;
+    }
     if (warningMessage != null) {
       _json["warningMessage"] = warningMessage;
     }
diff --git a/generated/googleapis/lib/firebaserules/v1.dart b/generated/googleapis/lib/firebaserules/v1.dart
index ab32331..f704599 100644
--- a/generated/googleapis/lib/firebaserules/v1.dart
+++ b/generated/googleapis/lib/firebaserules/v1.dart
@@ -292,14 +292,6 @@
    * Format: `projects/{project_id}`
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [pageToken] - Next page token for the next batch of `Release` instances.
-   *
-   * [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
-   * Note: `page_size` is just a hint and the service may choose to load fewer
-   * than `page_size` results due to the size of the output. To traverse all of
-   * the releases, the caller should iterate until the `page_token` on the
-   * response is empty.
-   *
    * [filter] - `Release` filter. The list method supports filters with
    * restrictions on the
    * `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`.
@@ -326,6 +318,14 @@
    * relative to the project. Fully qualified prefixed may also be used. e.g.
    * `test_suite_name=projects/foo/testsuites/uuid1`
    *
+   * [pageToken] - Next page token for the next batch of `Release` instances.
+   *
+   * [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
+   * Note: `page_size` is just a hint and the service may choose to load fewer
+   * than `page_size` results due to the size of the output. To traverse all of
+   * the releases, the caller should iterate until the `page_token` on the
+   * response is empty.
+   *
    * Completes with a [ListReleasesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -334,7 +334,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListReleasesResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
+  async.Future<ListReleasesResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -345,15 +345,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/releases';
 
@@ -600,6 +600,14 @@
    * Format: `projects/{project_id}`
    * Value must have pattern "^projects/[^/]+$".
    *
+   * [pageToken] - Next page token for loading the next batch of `Ruleset`
+   * instances.
+   *
+   * [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
+   * Note: `page_size` is just a hint and the service may choose to load less
+   * than `page_size` due to the size of the output. To traverse all of the
+   * releases, caller should iterate until the `page_token` is empty.
+   *
    * [filter] - `Ruleset` filter. The list method supports filters with
    * restrictions on
    * `Ruleset.name`.
@@ -609,14 +617,6 @@
    *
    * Example: `create_time > date("2017-01-01") AND name=UUID-*`
    *
-   * [pageToken] - Next page token for loading the next batch of `Ruleset`
-   * instances.
-   *
-   * [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
-   * Note: `page_size` is just a hint and the service may choose to load less
-   * than `page_size` due to the size of the output. To traverse all of the
-   * releases, caller should iterate until the `page_token` is empty.
-   *
    * Completes with a [ListRulesetsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -625,7 +625,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListRulesetsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListRulesetsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -636,15 +636,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/rulesets';
 
diff --git a/generated/googleapis/lib/fitness/v1.dart b/generated/googleapis/lib/fitness/v1.dart
index 325b429..ee2a337 100644
--- a/generated/googleapis/lib/fitness/v1.dart
+++ b/generated/googleapis/lib/fitness/v1.dart
@@ -1471,7 +1471,7 @@
    * number:device.manufacturer:device.model:device.uid:dataStreamName
    *
    * When any of the optional fields that comprise of the data stream ID are
-   * blank, they will be omitted from the data stream ID. The minnimum viable
+   * blank, they will be omitted from the data stream ID. The minimum viable
    * data stream ID would be: type:dataType.name:developer project number
    *
    * Finally, the developer project number is obfuscated when read by any REST
diff --git a/generated/googleapis/lib/genomics/v1.dart b/generated/googleapis/lib/genomics/v1.dart
index 93cea1e..20900ef 100644
--- a/generated/googleapis/lib/genomics/v1.dart
+++ b/generated/googleapis/lib/genomics/v1.dart
@@ -1036,6 +1036,8 @@
    *
    * Request parameters:
    *
+   * [projectId] - Required. The Google Cloud project ID to list datasets for.
+   *
    * [pageToken] - The continuation token, which is used to page through large
    * result sets.
    * To get the next page of results, set this parameter to the value of
@@ -1045,8 +1047,6 @@
    * unspecified,
    * defaults to 50. The maximum value is 1024.
    *
-   * [projectId] - Required. The Google Cloud project ID to list datasets for.
-   *
    * Completes with a [ListDatasetsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1055,7 +1055,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListDatasetsResponse> list({core.String pageToken, core.int pageSize, core.String projectId}) {
+  async.Future<ListDatasetsResponse> list({core.String projectId, core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1063,15 +1063,15 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (projectId != null) {
+      _queryParams["projectId"] = [projectId];
+    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
-    if (projectId != null) {
-      _queryParams["projectId"] = [projectId];
-    }
 
     _url = 'v1/datasets';
 
@@ -1410,6 +1410,12 @@
    * [name] - The name of the operation's parent resource.
    * Value must have pattern "^operations$".
    *
+   * [pageToken] - The standard list page token.
+   *
+   * [pageSize] - The maximum number of results to return. If unspecified,
+   * defaults to
+   * 256. The maximum value is 2048.
+   *
    * [filter] - A string for filtering Operations.
    * The following filter fields are supported&#58;
    *
@@ -1430,12 +1436,6 @@
    * * `projectId = my-project AND labels.color = *`
    * * `projectId = my-project AND labels.color = red`
    *
-   * [pageToken] - The standard list page token.
-   *
-   * [pageSize] - The maximum number of results to return. If unspecified,
-   * defaults to
-   * 256. The maximum value is 2048.
-   *
    * Completes with a [ListOperationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1444,7 +1444,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListOperationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListOperationsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1455,15 +1455,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
 
@@ -1826,19 +1826,6 @@
    * [readGroupSetId] - Required. The ID of the read group set over which
    * coverage is requested.
    *
-   * [targetBucketWidth] - The desired width of each reported coverage bucket in
-   * base pairs. This
-   * will be rounded down to the nearest precomputed bucket width; the value
-   * of which is returned as `bucketWidth` in the response. Defaults
-   * to infinity (each bucket spans an entire reference sequence) or the length
-   * of the target range, if specified. The smallest precomputed
-   * `bucketWidth` is currently 2048 base pairs; this is subject to
-   * change.
-   *
-   * [referenceName] - The name of the reference to query, within the reference
-   * set associated
-   * with this query. Optional.
-   *
    * [end] - The end position of the range on the reference, 0-based exclusive.
    * If
    * specified, `referenceName` must also be specified. If unset or 0, defaults
@@ -1857,6 +1844,19 @@
    * inclusive. If
    * specified, `referenceName` must also be specified. Defaults to 0.
    *
+   * [targetBucketWidth] - The desired width of each reported coverage bucket in
+   * base pairs. This
+   * will be rounded down to the nearest precomputed bucket width; the value
+   * of which is returned as `bucketWidth` in the response. Defaults
+   * to infinity (each bucket spans an entire reference sequence) or the length
+   * of the target range, if specified. The smallest precomputed
+   * `bucketWidth` is currently 2048 base pairs; this is subject to
+   * change.
+   *
+   * [referenceName] - The name of the reference to query, within the reference
+   * set associated
+   * with this query. Optional.
+   *
    * Completes with a [ListCoverageBucketsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1865,7 +1865,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListCoverageBucketsResponse> list(core.String readGroupSetId, {core.String targetBucketWidth, core.String referenceName, core.String end, core.String pageToken, core.int pageSize, core.String start}) {
+  async.Future<ListCoverageBucketsResponse> list(core.String readGroupSetId, {core.String end, core.String pageToken, core.int pageSize, core.String start, core.String targetBucketWidth, core.String referenceName}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1876,12 +1876,6 @@
     if (readGroupSetId == null) {
       throw new core.ArgumentError("Parameter readGroupSetId is required.");
     }
-    if (targetBucketWidth != null) {
-      _queryParams["targetBucketWidth"] = [targetBucketWidth];
-    }
-    if (referenceName != null) {
-      _queryParams["referenceName"] = [referenceName];
-    }
     if (end != null) {
       _queryParams["end"] = [end];
     }
@@ -1894,6 +1888,12 @@
     if (start != null) {
       _queryParams["start"] = [start];
     }
+    if (targetBucketWidth != null) {
+      _queryParams["targetBucketWidth"] = [targetBucketWidth];
+    }
+    if (referenceName != null) {
+      _queryParams["referenceName"] = [referenceName];
+    }
 
     _url = 'v1/readgroupsets/' + commons.Escaper.ecapeVariable('$readGroupSetId') + '/coveragebuckets';
 
@@ -2104,6 +2104,13 @@
    *
    * [referenceId] - The ID of the reference.
    *
+   * [pageSize] - The maximum number of bases to return in a single page. If
+   * unspecified,
+   * defaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega base
+   * pairs).
+   *
+   * [start] - The start position (0-based) of this query. Defaults to 0.
+   *
    * [end] - The end position (0-based, exclusive) of this query. Defaults to
    * the length
    * of this reference.
@@ -2113,13 +2120,6 @@
    * To get the next page of results, set this parameter to the value of
    * `nextPageToken` from the previous response.
    *
-   * [pageSize] - The maximum number of bases to return in a single page. If
-   * unspecified,
-   * defaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega base
-   * pairs).
-   *
-   * [start] - The start position (0-based) of this query. Defaults to 0.
-   *
    * Completes with a [ListBasesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2128,7 +2128,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListBasesResponse> list(core.String referenceId, {core.String end, core.String pageToken, core.int pageSize, core.String start}) {
+  async.Future<ListBasesResponse> list(core.String referenceId, {core.int pageSize, core.String start, core.String end, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2139,18 +2139,18 @@
     if (referenceId == null) {
       throw new core.ArgumentError("Parameter referenceId is required.");
     }
-    if (end != null) {
-      _queryParams["end"] = [end];
-    }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
     if (start != null) {
       _queryParams["start"] = [start];
     }
+    if (end != null) {
+      _queryParams["end"] = [end];
+    }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
 
     _url = 'v1/references/' + commons.Escaper.ecapeVariable('$referenceId') + '/bases';
 
diff --git a/generated/googleapis/lib/iam/v1.dart b/generated/googleapis/lib/iam/v1.dart
index eb0a529..64402b7 100644
--- a/generated/googleapis/lib/iam/v1.dart
+++ b/generated/googleapis/lib/iam/v1.dart
@@ -208,6 +208,8 @@
    * `projects/{PROJECT_ID}`
    * Value must have pattern "^organizations/[^/]+$".
    *
+   * [showDeleted] - Include Roles that have been deleted.
+   *
    * [pageToken] - Optional pagination token returned in an earlier
    * ListRolesResponse.
    *
@@ -219,8 +221,6 @@
    * - "BASIC" : A BASIC.
    * - "FULL" : A FULL.
    *
-   * [showDeleted] - Include Roles that have been deleted.
-   *
    * Completes with a [ListRolesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -229,7 +229,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListRolesResponse> list(core.String parent, {core.String pageToken, core.int pageSize, core.String view, core.bool showDeleted}) {
+  async.Future<ListRolesResponse> list(core.String parent, {core.bool showDeleted, core.String pageToken, core.int pageSize, core.String view}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -240,6 +240,9 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
+    if (showDeleted != null) {
+      _queryParams["showDeleted"] = ["${showDeleted}"];
+    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
@@ -249,9 +252,6 @@
     if (view != null) {
       _queryParams["view"] = [view];
     }
-    if (showDeleted != null) {
-      _queryParams["showDeleted"] = ["${showDeleted}"];
-    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/roles';
 
@@ -1522,12 +1522,6 @@
    *
    * Request parameters:
    *
-   * [pageToken] - Optional pagination token returned in an earlier
-   * ListRolesResponse.
-   *
-   * [pageSize] - Optional limit on the number of roles to include in the
-   * response.
-   *
    * [view] - Optional view for the returned Role objects.
    * Possible string values are:
    * - "BASIC" : A BASIC.
@@ -1541,6 +1535,12 @@
    *
    * [showDeleted] - Include Roles that have been deleted.
    *
+   * [pageToken] - Optional pagination token returned in an earlier
+   * ListRolesResponse.
+   *
+   * [pageSize] - Optional limit on the number of roles to include in the
+   * response.
+   *
    * Completes with a [ListRolesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1549,7 +1549,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListRolesResponse> list({core.String pageToken, core.int pageSize, core.String view, core.String parent, core.bool showDeleted}) {
+  async.Future<ListRolesResponse> list({core.String view, core.String parent, core.bool showDeleted, core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1557,12 +1557,6 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (view != null) {
       _queryParams["view"] = [view];
     }
@@ -1572,6 +1566,12 @@
     if (showDeleted != null) {
       _queryParams["showDeleted"] = ["${showDeleted}"];
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v1/roles';
 
@@ -1814,7 +1814,6 @@
 
 /** The service account key create request. */
 class CreateServiceAccountKeyRequest {
-  core.bool includePublicKeyData;
   /**
    * Which type of key and algorithm to use for the key.
    * The default is currently a 2K RSA key.  However this may change in the
@@ -1841,9 +1840,6 @@
   CreateServiceAccountKeyRequest();
 
   CreateServiceAccountKeyRequest.fromJson(core.Map _json) {
-    if (_json.containsKey("includePublicKeyData")) {
-      includePublicKeyData = _json["includePublicKeyData"];
-    }
     if (_json.containsKey("keyAlgorithm")) {
       keyAlgorithm = _json["keyAlgorithm"];
     }
@@ -1854,9 +1850,6 @@
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
-    if (includePublicKeyData != null) {
-      _json["includePublicKeyData"] = includePublicKeyData;
-    }
     if (keyAlgorithm != null) {
       _json["keyAlgorithm"] = keyAlgorithm;
     }
diff --git a/generated/googleapis/lib/kgsearch/v1.dart b/generated/googleapis/lib/kgsearch/v1.dart
index 80ae2c2..d01da4c 100644
--- a/generated/googleapis/lib/kgsearch/v1.dart
+++ b/generated/googleapis/lib/kgsearch/v1.dart
@@ -39,6 +39,8 @@
    *
    * Request parameters:
    *
+   * [limit] - Limits the number of entities to be returned.
+   *
    * [prefix] - Enables prefix match against names and aliases of entities
    *
    * [query] - The literal query string for search.
@@ -58,8 +60,6 @@
    * To specify multiple ids in the HTTP request, repeat the parameter in the
    * URL as in ...?ids=A&ids=B
    *
-   * [limit] - Limits the number of entities to be returned.
-   *
    * Completes with a [SearchResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -68,7 +68,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<SearchResponse> search({core.bool prefix, core.String query, core.List<core.String> types, core.bool indent, core.List<core.String> languages, core.List<core.String> ids, core.int limit}) {
+  async.Future<SearchResponse> search({core.int limit, core.bool prefix, core.String query, core.List<core.String> types, core.bool indent, core.List<core.String> languages, core.List<core.String> ids}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -76,6 +76,9 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (limit != null) {
+      _queryParams["limit"] = ["${limit}"];
+    }
     if (prefix != null) {
       _queryParams["prefix"] = ["${prefix}"];
     }
@@ -94,9 +97,6 @@
     if (ids != null) {
       _queryParams["ids"] = ids;
     }
-    if (limit != null) {
-      _queryParams["limit"] = ["${limit}"];
-    }
 
     _url = 'v1/entities:search';
 
diff --git a/generated/googleapis/lib/logging/v2.dart b/generated/googleapis/lib/logging/v2.dart
index 3b8992c..e49894e 100644
--- a/generated/googleapis/lib/logging/v2.dart
+++ b/generated/googleapis/lib/logging/v2.dart
@@ -127,15 +127,15 @@
    *
    * Value must have pattern "^billingAccounts/[^/]+$".
    *
-   * [pageSize] - Optional. The maximum number of results to return from this
-   * request. Non-positive values are ignored. The presence of nextPageToken in
-   * the response indicates that more results might be available.
-   *
    * [pageToken] - Optional. If present, then retrieve the next batch of results
    * from the preceding call to this method. pageToken must be the value of
    * nextPageToken from the previous response. The values of other method
    * parameters should be identical to those in the previous call.
    *
+   * [pageSize] - Optional. The maximum number of results to return from this
+   * request. Non-positive values are ignored. The presence of nextPageToken in
+   * the response indicates that more results might be available.
+   *
    * Completes with a [ListLogsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -144,7 +144,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListLogsResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListLogsResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -155,12 +155,12 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + '/logs';
 
@@ -356,15 +356,15 @@
    *
    * Value must have pattern "^billingAccounts/[^/]+$".
    *
-   * [pageSize] - Optional. The maximum number of results to return from this
-   * request. Non-positive values are ignored. The presence of nextPageToken in
-   * the response indicates that more results might be available.
-   *
    * [pageToken] - Optional. If present, then retrieve the next batch of results
    * from the preceding call to this method. pageToken must be the value of
    * nextPageToken from the previous response. The values of other method
    * parameters should be identical to those in the previous call.
    *
+   * [pageSize] - Optional. The maximum number of results to return from this
+   * request. Non-positive values are ignored. The presence of nextPageToken in
+   * the response indicates that more results might be available.
+   *
    * Completes with a [ListSinksResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -373,7 +373,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListSinksResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListSinksResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -384,12 +384,12 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + '/sinks';
 
@@ -404,12 +404,78 @@
   }
 
   /**
-   * Updates a sink. If the named sink doesn't exist, then this method is
-   * identical to sinks.create. If the named sink does exist, then this method
-   * replaces the following fields in the existing sink with values from the new
-   * sink: destination, filter, output_version_format, start_time, and end_time.
-   * The updated filter might also have a new writer_identity; see the
-   * unique_writer_identity field.
+   * Updates a sink. This method replaces the following fields in the existing
+   * sink with values from the new sink: destination, filter,
+   * output_version_format, start_time, and end_time. The updated sink might
+   * also have a new writer_identity; see the unique_writer_identity field.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [sinkName] - Required. The full resource name of the sink to update,
+   * including the parent resource and the sink identifier:
+   * "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+   * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+   * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
+   * "folders/[FOLDER_ID]/sinks/[SINK_ID]"
+   * Example: "projects/my-project-id/sinks/my-sink-id".
+   * Value must have pattern "^billingAccounts/[^/]+/sinks/[^/]+$".
+   *
+   * [uniqueWriterIdentity] - Optional. See sinks.create for a description of
+   * this field. When updating a sink, the effect of this field on the value of
+   * writer_identity in the updated sink depends on both the old and new values
+   * of this field:
+   * If the old and new values of this field are both false or both true, then
+   * there is no change to the sink's writer_identity.
+   * If the old value is false and the new value is true, then writer_identity
+   * is changed to a unique service account.
+   * It is an error if the old value is true and the new value is set to false
+   * or defaulted to false.
+   *
+   * Completes with a [LogSink].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<LogSink> patch(LogSink request, core.String sinkName, {core.bool uniqueWriterIdentity}) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (sinkName == null) {
+      throw new core.ArgumentError("Parameter sinkName is required.");
+    }
+    if (uniqueWriterIdentity != null) {
+      _queryParams["uniqueWriterIdentity"] = ["${uniqueWriterIdentity}"];
+    }
+
+    _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$sinkName');
+
+    var _response = _requester.request(_url,
+                                       "PATCH",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new LogSink.fromJson(data));
+  }
+
+  /**
+   * Updates a sink. This method replaces the following fields in the existing
+   * sink with values from the new sink: destination, filter,
+   * output_version_format, start_time, and end_time. The updated sink might
+   * also have a new writer_identity; see the unique_writer_identity field.
    *
    * [request] - The metadata request object.
    *
@@ -874,15 +940,15 @@
    *
    * Value must have pattern "^folders/[^/]+$".
    *
-   * [pageSize] - Optional. The maximum number of results to return from this
-   * request. Non-positive values are ignored. The presence of nextPageToken in
-   * the response indicates that more results might be available.
-   *
    * [pageToken] - Optional. If present, then retrieve the next batch of results
    * from the preceding call to this method. pageToken must be the value of
    * nextPageToken from the previous response. The values of other method
    * parameters should be identical to those in the previous call.
    *
+   * [pageSize] - Optional. The maximum number of results to return from this
+   * request. Non-positive values are ignored. The presence of nextPageToken in
+   * the response indicates that more results might be available.
+   *
    * Completes with a [ListSinksResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -891,7 +957,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListSinksResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListSinksResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -902,12 +968,12 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + '/sinks';
 
@@ -922,12 +988,78 @@
   }
 
   /**
-   * Updates a sink. If the named sink doesn't exist, then this method is
-   * identical to sinks.create. If the named sink does exist, then this method
-   * replaces the following fields in the existing sink with values from the new
-   * sink: destination, filter, output_version_format, start_time, and end_time.
-   * The updated filter might also have a new writer_identity; see the
-   * unique_writer_identity field.
+   * Updates a sink. This method replaces the following fields in the existing
+   * sink with values from the new sink: destination, filter,
+   * output_version_format, start_time, and end_time. The updated sink might
+   * also have a new writer_identity; see the unique_writer_identity field.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [sinkName] - Required. The full resource name of the sink to update,
+   * including the parent resource and the sink identifier:
+   * "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+   * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+   * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
+   * "folders/[FOLDER_ID]/sinks/[SINK_ID]"
+   * Example: "projects/my-project-id/sinks/my-sink-id".
+   * Value must have pattern "^folders/[^/]+/sinks/[^/]+$".
+   *
+   * [uniqueWriterIdentity] - Optional. See sinks.create for a description of
+   * this field. When updating a sink, the effect of this field on the value of
+   * writer_identity in the updated sink depends on both the old and new values
+   * of this field:
+   * If the old and new values of this field are both false or both true, then
+   * there is no change to the sink's writer_identity.
+   * If the old value is false and the new value is true, then writer_identity
+   * is changed to a unique service account.
+   * It is an error if the old value is true and the new value is set to false
+   * or defaulted to false.
+   *
+   * Completes with a [LogSink].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<LogSink> patch(LogSink request, core.String sinkName, {core.bool uniqueWriterIdentity}) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (sinkName == null) {
+      throw new core.ArgumentError("Parameter sinkName is required.");
+    }
+    if (uniqueWriterIdentity != null) {
+      _queryParams["uniqueWriterIdentity"] = ["${uniqueWriterIdentity}"];
+    }
+
+    _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$sinkName');
+
+    var _response = _requester.request(_url,
+                                       "PATCH",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new LogSink.fromJson(data));
+  }
+
+  /**
+   * Updates a sink. This method replaces the following fields in the existing
+   * sink with values from the new sink: destination, filter,
+   * output_version_format, start_time, and end_time. The updated sink might
+   * also have a new writer_identity; see the unique_writer_identity field.
    *
    * [request] - The metadata request object.
    *
@@ -1006,15 +1138,15 @@
    *
    * Request parameters:
    *
-   * [pageSize] - Optional. The maximum number of results to return from this
-   * request. Non-positive values are ignored. The presence of nextPageToken in
-   * the response indicates that more results might be available.
-   *
    * [pageToken] - Optional. If present, then retrieve the next batch of results
    * from the preceding call to this method. pageToken must be the value of
    * nextPageToken from the previous response. The values of other method
    * parameters should be identical to those in the previous call.
    *
+   * [pageSize] - Optional. The maximum number of results to return from this
+   * request. Non-positive values are ignored. The presence of nextPageToken in
+   * the response indicates that more results might be available.
+   *
    * Completes with a [ListMonitoredResourceDescriptorsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1023,7 +1155,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListMonitoredResourceDescriptorsResponse> list({core.int pageSize, core.String pageToken}) {
+  async.Future<ListMonitoredResourceDescriptorsResponse> list({core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1031,12 +1163,12 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v2/monitoredResourceDescriptors';
 
@@ -1411,12 +1543,78 @@
   }
 
   /**
-   * Updates a sink. If the named sink doesn't exist, then this method is
-   * identical to sinks.create. If the named sink does exist, then this method
-   * replaces the following fields in the existing sink with values from the new
-   * sink: destination, filter, output_version_format, start_time, and end_time.
-   * The updated filter might also have a new writer_identity; see the
-   * unique_writer_identity field.
+   * Updates a sink. This method replaces the following fields in the existing
+   * sink with values from the new sink: destination, filter,
+   * output_version_format, start_time, and end_time. The updated sink might
+   * also have a new writer_identity; see the unique_writer_identity field.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [sinkName] - Required. The full resource name of the sink to update,
+   * including the parent resource and the sink identifier:
+   * "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+   * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+   * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
+   * "folders/[FOLDER_ID]/sinks/[SINK_ID]"
+   * Example: "projects/my-project-id/sinks/my-sink-id".
+   * Value must have pattern "^organizations/[^/]+/sinks/[^/]+$".
+   *
+   * [uniqueWriterIdentity] - Optional. See sinks.create for a description of
+   * this field. When updating a sink, the effect of this field on the value of
+   * writer_identity in the updated sink depends on both the old and new values
+   * of this field:
+   * If the old and new values of this field are both false or both true, then
+   * there is no change to the sink's writer_identity.
+   * If the old value is false and the new value is true, then writer_identity
+   * is changed to a unique service account.
+   * It is an error if the old value is true and the new value is set to false
+   * or defaulted to false.
+   *
+   * Completes with a [LogSink].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<LogSink> patch(LogSink request, core.String sinkName, {core.bool uniqueWriterIdentity}) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (sinkName == null) {
+      throw new core.ArgumentError("Parameter sinkName is required.");
+    }
+    if (uniqueWriterIdentity != null) {
+      _queryParams["uniqueWriterIdentity"] = ["${uniqueWriterIdentity}"];
+    }
+
+    _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$sinkName');
+
+    var _response = _requester.request(_url,
+                                       "PATCH",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new LogSink.fromJson(data));
+  }
+
+  /**
+   * Updates a sink. This method replaces the following fields in the existing
+   * sink with values from the new sink: destination, filter,
+   * output_version_format, start_time, and end_time. The updated sink might
+   * also have a new writer_identity; see the unique_writer_identity field.
    *
    * [request] - The metadata request object.
    *
@@ -1762,15 +1960,15 @@
    *
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [pageSize] - Optional. The maximum number of results to return from this
-   * request. Non-positive values are ignored. The presence of nextPageToken in
-   * the response indicates that more results might be available.
-   *
    * [pageToken] - Optional. If present, then retrieve the next batch of results
    * from the preceding call to this method. pageToken must be the value of
    * nextPageToken from the previous response. The values of other method
    * parameters should be identical to those in the previous call.
    *
+   * [pageSize] - Optional. The maximum number of results to return from this
+   * request. Non-positive values are ignored. The presence of nextPageToken in
+   * the response indicates that more results might be available.
+   *
    * Completes with a [ListLogMetricsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1779,7 +1977,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListLogMetricsResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListLogMetricsResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1790,12 +1988,12 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + '/metrics';
 
@@ -2088,12 +2286,78 @@
   }
 
   /**
-   * Updates a sink. If the named sink doesn't exist, then this method is
-   * identical to sinks.create. If the named sink does exist, then this method
-   * replaces the following fields in the existing sink with values from the new
-   * sink: destination, filter, output_version_format, start_time, and end_time.
-   * The updated filter might also have a new writer_identity; see the
-   * unique_writer_identity field.
+   * Updates a sink. This method replaces the following fields in the existing
+   * sink with values from the new sink: destination, filter,
+   * output_version_format, start_time, and end_time. The updated sink might
+   * also have a new writer_identity; see the unique_writer_identity field.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [sinkName] - Required. The full resource name of the sink to update,
+   * including the parent resource and the sink identifier:
+   * "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+   * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+   * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
+   * "folders/[FOLDER_ID]/sinks/[SINK_ID]"
+   * Example: "projects/my-project-id/sinks/my-sink-id".
+   * Value must have pattern "^projects/[^/]+/sinks/[^/]+$".
+   *
+   * [uniqueWriterIdentity] - Optional. See sinks.create for a description of
+   * this field. When updating a sink, the effect of this field on the value of
+   * writer_identity in the updated sink depends on both the old and new values
+   * of this field:
+   * If the old and new values of this field are both false or both true, then
+   * there is no change to the sink's writer_identity.
+   * If the old value is false and the new value is true, then writer_identity
+   * is changed to a unique service account.
+   * It is an error if the old value is true and the new value is set to false
+   * or defaulted to false.
+   *
+   * Completes with a [LogSink].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<LogSink> patch(LogSink request, core.String sinkName, {core.bool uniqueWriterIdentity}) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (sinkName == null) {
+      throw new core.ArgumentError("Parameter sinkName is required.");
+    }
+    if (uniqueWriterIdentity != null) {
+      _queryParams["uniqueWriterIdentity"] = ["${uniqueWriterIdentity}"];
+    }
+
+    _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$sinkName');
+
+    var _response = _requester.request(_url,
+                                       "PATCH",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new LogSink.fromJson(data));
+  }
+
+  /**
+   * Updates a sink. This method replaces the following fields in the existing
+   * sink with values from the new sink: destination, filter,
+   * output_version_format, start_time, and end_time. The updated sink might
+   * also have a new writer_identity; see the unique_writer_identity field.
    *
    * [request] - The metadata request object.
    *
@@ -2213,6 +2477,10 @@
    */
   core.String latency;
   /**
+   * Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket"
+   */
+  core.String protocol;
+  /**
    * The referer URL of the request, as defined in HTTP/1.1 Header Field
    * Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
    */
@@ -2273,6 +2541,9 @@
     if (_json.containsKey("latency")) {
       latency = _json["latency"];
     }
+    if (_json.containsKey("protocol")) {
+      protocol = _json["protocol"];
+    }
     if (_json.containsKey("referer")) {
       referer = _json["referer"];
     }
@@ -2319,6 +2590,9 @@
     if (latency != null) {
       _json["latency"] = latency;
     }
+    if (protocol != null) {
+      _json["protocol"] = protocol;
+    }
     if (referer != null) {
       _json["referer"] = referer;
     }
@@ -3079,9 +3353,8 @@
    */
   core.String name;
   /**
-   * Output only. The API version that created or updated this metric. The
-   * version also dictates the syntax of the filter expression. When a value for
-   * this field is missing, the default value of V2 should be assumed.
+   * Output only. The API version that created or updated this metric. This
+   * value is currently always set to V2.
    * Possible string values are:
    * - "V2" : Stackdriver Logging API v2.
    * - "V1" : Stackdriver Logging API v1.
diff --git a/generated/googleapis/lib/manufacturers/v1.dart b/generated/googleapis/lib/manufacturers/v1.dart
index 9affd68..88a53a3 100644
--- a/generated/googleapis/lib/manufacturers/v1.dart
+++ b/generated/googleapis/lib/manufacturers/v1.dart
@@ -107,9 +107,10 @@
    * Gets the product from a Manufacturer Center account, including product
    * issues.
    *
-   * A recently updated product takes some time to be processed before any
-   * changes are visible. While some issues may be available once the product
-   * has been processed, other issues may take days to appear.
+   * A recently updated product takes around 15 minutes to process. Changes are
+   * only visible after it has been processed. While some issues may be
+   * available once the product has been processed, other issues may take days
+   * to appear.
    *
    * Request parameters:
    *
@@ -176,12 +177,12 @@
    * `account_id` - The ID of the Manufacturer Center account.
    * Value must have pattern "^accounts/[^/]+$".
    *
+   * [pageToken] - The token returned by the previous request.
+   *
    * [pageSize] - Maximum number of product statuses to return in the response,
    * used for
    * paging.
    *
-   * [pageToken] - The token returned by the previous request.
-   *
    * Completes with a [ListProductsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -190,7 +191,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListProductsResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListProductsResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -201,12 +202,12 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/products';
 
@@ -450,6 +451,11 @@
    */
   Price suggestedRetailPrice;
   /**
+   * The target account id. Should only be used in the accounts of the data
+   * partners.
+   */
+  core.String targetAccountId;
+  /**
    * The theme of the product. For more information, see
    * https://support.google.com/manufacturers/answer/6124116#theme.
    */
@@ -555,6 +561,9 @@
     if (_json.containsKey("suggestedRetailPrice")) {
       suggestedRetailPrice = new Price.fromJson(_json["suggestedRetailPrice"]);
     }
+    if (_json.containsKey("targetAccountId")) {
+      targetAccountId = _json["targetAccountId"];
+    }
     if (_json.containsKey("theme")) {
       theme = _json["theme"];
     }
@@ -655,6 +664,9 @@
     if (suggestedRetailPrice != null) {
       _json["suggestedRetailPrice"] = (suggestedRetailPrice).toJson();
     }
+    if (targetAccountId != null) {
+      _json["targetAccountId"] = targetAccountId;
+    }
     if (theme != null) {
       _json["theme"] = theme;
     }
diff --git a/generated/googleapis/lib/ml/v1.dart b/generated/googleapis/lib/ml/v1.dart
index f899547..3db694b 100644
--- a/generated/googleapis/lib/ml/v1.dart
+++ b/generated/googleapis/lib/ml/v1.dart
@@ -271,6 +271,50 @@
   }
 
   /**
+   * Gets the access control policy for a resource.
+   * Returns an empty policy if the resource exists and does not have a policy
+   * set.
+   *
+   * Request parameters:
+   *
+   * [resource] - REQUIRED: The resource for which the policy is being
+   * requested.
+   * See the operation documentation for the appropriate value for this field.
+   * Value must have pattern "^projects/[^/]+/jobs/[^/]+$".
+   *
+   * Completes with a [GoogleIamV1Policy].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<GoogleIamV1Policy> getIamPolicy(core.String resource) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (resource == null) {
+      throw new core.ArgumentError("Parameter resource is required.");
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getIamPolicy';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new GoogleIamV1Policy.fromJson(data));
+  }
+
+  /**
    * Lists the jobs in the project.
    *
    * Request parameters:
@@ -333,6 +377,107 @@
     return _response.then((data) => new GoogleCloudMlV1ListJobsResponse.fromJson(data));
   }
 
+  /**
+   * Sets the access control policy on the specified resource. Replaces any
+   * existing policy.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [resource] - REQUIRED: The resource for which the policy is being
+   * specified.
+   * See the operation documentation for the appropriate value for this field.
+   * Value must have pattern "^projects/[^/]+/jobs/[^/]+$".
+   *
+   * Completes with a [GoogleIamV1Policy].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<GoogleIamV1Policy> setIamPolicy(GoogleIamV1SetIamPolicyRequest request, core.String resource) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (resource == null) {
+      throw new core.ArgumentError("Parameter resource is required.");
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setIamPolicy';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new GoogleIamV1Policy.fromJson(data));
+  }
+
+  /**
+   * 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.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [resource] - REQUIRED: The resource for which the policy detail is being
+   * requested.
+   * See the operation documentation for the appropriate value for this field.
+   * Value must have pattern "^projects/[^/]+/jobs/[^/]+$".
+   *
+   * Completes with a [GoogleIamV1TestIamPermissionsResponse].
+   *
+   * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method will complete with the same error.
+   */
+  async.Future<GoogleIamV1TestIamPermissionsResponse> testIamPermissions(GoogleIamV1TestIamPermissionsRequest request, core.String resource) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = commons.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (resource == null) {
+      throw new core.ArgumentError("Parameter resource is required.");
+    }
+
+    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':testIamPermissions';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new GoogleIamV1TestIamPermissionsResponse.fromJson(data));
+  }
+
 }
 
 
@@ -920,9 +1065,6 @@
    * model. You
    * can get the names of all the versions of a model by calling
    * [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).
-   *
-   * Authorization: `ml.models.update` permission is required on the parent
-   * model.
    * Value must have pattern "^projects/[^/]+/models/[^/]+/versions/[^/]+$".
    *
    * Completes with a [GoogleCloudMlV1Version].
@@ -1120,12 +1262,12 @@
    * [name] - The name of the operation's parent resource.
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [filter] - The standard list filter.
-   *
    * [pageToken] - The standard list page token.
    *
    * [pageSize] - The standard list page size.
    *
+   * [filter] - The standard list filter.
+   *
    * Completes with a [GoogleLongrunningListOperationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1134,7 +1276,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<GoogleLongrunningListOperationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<GoogleLongrunningListOperationsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1145,15 +1287,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/operations';
 
@@ -1514,7 +1656,11 @@
   }
 }
 
-/** Represents a training or prediction job. */
+/**
+ * Represents a training or prediction job.
+ *
+ * Next ID: 16
+ */
 class GoogleCloudMlV1Job {
   /** Output only. When the job was created. */
   core.String createTime;
@@ -1755,6 +1901,8 @@
  * A model can have multiple versions, each of which is a deployed, trained
  * model ready to receive prediction requests. The model itself is just a
  * container.
+ *
+ * Next ID: 8
  */
 class GoogleCloudMlV1Model {
   /**
@@ -1832,7 +1980,11 @@
   }
 }
 
-/** Represents the metadata of the long-running operation. */
+/**
+ * Represents the metadata of the long-running operation.
+ *
+ * Next ID: 9
+ */
 class GoogleCloudMlV1OperationMetadata {
   /** The time the operation was submitted. */
   core.String createTime;
@@ -1849,6 +2001,8 @@
    * - "CREATE_VERSION" : An operation to create a new version.
    * - "DELETE_VERSION" : An operation to delete an existing version.
    * - "DELETE_MODEL" : An operation to delete an existing model.
+   * - "UPDATE_MODEL" : An operation to update an existing model.
+   * - "UPDATE_VERSION" : An operation to update an existing version.
    */
   core.String operationType;
   /** The time operation processing started. */
@@ -2242,6 +2396,13 @@
 /** Represents input parameters for a prediction job. */
 class GoogleCloudMlV1PredictionInput {
   /**
+   * Optional. Number of records per batch, defaults to 64.
+   * The service will buffer batch_size number of records in memory before
+   * invoking one Tensorflow prediction call internally. So take the record
+   * size and memory available into consideration when setting this parameter.
+   */
+  core.String batchSize;
+  /**
    * Required. The format of the input data files.
    * Possible string values are:
    * - "DATA_FORMAT_UNSPECIFIED" : Unspecified format.
@@ -2299,6 +2460,9 @@
   GoogleCloudMlV1PredictionInput();
 
   GoogleCloudMlV1PredictionInput.fromJson(core.Map _json) {
+    if (_json.containsKey("batchSize")) {
+      batchSize = _json["batchSize"];
+    }
     if (_json.containsKey("dataFormat")) {
       dataFormat = _json["dataFormat"];
     }
@@ -2330,6 +2494,9 @@
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (batchSize != null) {
+      _json["batchSize"] = batchSize;
+    }
     if (dataFormat != null) {
       _json["dataFormat"] = dataFormat;
     }
@@ -2728,6 +2895,8 @@
  * prediction requests. A model can have multiple versions. You can get
  * information about all of the versions of a given model by calling
  * [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).
+ *
+ * Next ID: 18
  */
 class GoogleCloudMlV1Version {
   /**
@@ -2795,9 +2964,10 @@
    * Possible string values are:
    * - "UNKNOWN" : The version state is unspecified.
    * - "READY" : The version is ready for prediction.
-   * - "CREATING" : The version is still in the process of creation.
+   * - "CREATING" : The version is in the process of creation.
    * - "FAILED" : The version failed to be created, possibly cancelled.
    * `error_message` should contain the details of the failure.
+   * - "DELETING" : The version is in the process of deletion.
    */
   core.String state;
 
@@ -2946,7 +3116,11 @@
   }
 }
 
-/** Represents the metadata of the long-running operation. */
+/**
+ * Represents the metadata of the long-running operation.
+ *
+ * Next ID: 9
+ */
 class GoogleCloudMlV1beta1OperationMetadata {
   /** The time the operation was submitted. */
   core.String createTime;
@@ -2963,6 +3137,8 @@
    * - "CREATE_VERSION" : An operation to create a new version.
    * - "DELETE_VERSION" : An operation to delete an existing version.
    * - "DELETE_MODEL" : An operation to delete an existing model.
+   * - "UPDATE_MODEL" : An operation to update an existing model.
+   * - "UPDATE_VERSION" : An operation to update an existing version.
    */
   core.String operationType;
   /** The time operation processing started. */
@@ -3030,6 +3206,8 @@
  * prediction requests. A model can have multiple versions. You can get
  * information about all of the versions of a given model by calling
  * [projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list).
+ *
+ * Next ID: 18
  */
 class GoogleCloudMlV1beta1Version {
   /**
@@ -3097,9 +3275,10 @@
    * Possible string values are:
    * - "UNKNOWN" : The version state is unspecified.
    * - "READY" : The version is ready for prediction.
-   * - "CREATING" : The version is still in the process of creation.
+   * - "CREATING" : The version is in the process of creation.
    * - "FAILED" : The version failed to be created, possibly cancelled.
    * `error_message` should contain the details of the failure.
+   * - "DELETING" : The version is in the process of deletion.
    */
   core.String state;
 
@@ -3208,7 +3387,30 @@
   }
 }
 
-/** Options for counters */
+/**
+ * Increment a streamz counter with the specified metric and field names.
+ *
+ * Metric names should start with a '/', generally be lowercase-only,
+ * and end in "_count". Field names should not contain an initial slash.
+ * The actual exported metric names will have "/iam/policy" prepended.
+ *
+ * Field names correspond to IAM request parameters and field values are
+ * their respective values.
+ *
+ * At present the only supported field names are
+ *    - "iam_principal", corresponding to IAMContext.principal;
+ *    - "" (empty string), resulting in one aggretated counter with no field.
+ *
+ * Examples:
+ *   counter { metric: "/debug_access_count"  field: "iam_principal" }
+ *   ==> increment counter /iam/policy/backend_debug_access_count
+ *                         {iam_principal=[value of IAMContext.principal]}
+ *
+ * At this time we do not support:
+ * * multiple field names (though this may be supported in the future)
+ * * decrementing the counter
+ * * incrementing it by anything other than 1
+ */
 class GoogleIamV1LogConfigCounterOptions {
   /** The field value to attribute. */
   core.String field;
@@ -3240,14 +3442,41 @@
 
 /** Write a Data Access (Gin) log */
 class GoogleIamV1LogConfigDataAccessOptions {
+  /**
+   * Whether Gin logging should happen in a fail-closed manner at the caller.
+   * This is relevant only in the LocalIAM implementation, for now.
+   * Possible string values are:
+   * - "LOG_MODE_UNSPECIFIED" : Client is not required to write a partial Gin
+   * log immediately after
+   * the authorization check. If client chooses to write one and it fails,
+   * client may either fail open (allow the operation to continue) or
+   * fail closed (handle as a DENY outcome).
+   * - "LOG_FAIL_CLOSED" : The application's operation in the context of which
+   * this authorization
+   * check is being made may only be performed if it is successfully logged
+   * to Gin. For instance, the authorization library may satisfy this
+   * obligation by emitting a partial log entry at authorization check time
+   * and only returning ALLOW to the application if it succeeds.
+   *
+   * If a matching Rule has this directive, but the client has not indicated
+   * that it will honor such requirements, then the IAM check will result in
+   * authorization failure by setting CheckPolicyResponse.success=false.
+   */
+  core.String logMode;
 
   GoogleIamV1LogConfigDataAccessOptions();
 
   GoogleIamV1LogConfigDataAccessOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("logMode")) {
+      logMode = _json["logMode"];
+    }
   }
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (logMode != null) {
+      _json["logMode"] = logMode;
+    }
     return _json;
   }
 }
@@ -3589,31 +3818,7 @@
   }
 }
 
-/**
- * Specifies what kind of log the caller must write
- * Increment a streamz counter with the specified metric and field names.
- *
- * Metric names should start with a '/', generally be lowercase-only,
- * and end in "_count". Field names should not contain an initial slash.
- * The actual exported metric names will have "/iam/policy" prepended.
- *
- * Field names correspond to IAM request parameters and field values are
- * their respective values.
- *
- * At present the only supported field names are
- *    - "iam_principal", corresponding to IAMContext.principal;
- *    - "" (empty string), resulting in one aggretated counter with no field.
- *
- * Examples:
- *   counter { metric: "/debug_access_count"  field: "iam_principal" }
- *   ==> increment counter /iam/policy/backend_debug_access_count
- *                         {iam_principal=[value of IAMContext.principal]}
- *
- * At this time we do not support:
- * * multiple field names (though this may be supported in the future)
- * * decrementing the counter
- * * incrementing it by anything other than 1
- */
+/** Specifies what kind of log the caller must write */
 class GoogleIamV1LogConfig {
   /** Cloud audit options. */
   GoogleIamV1LogConfigCloudAuditOptions cloudAudit;
diff --git a/generated/googleapis/lib/monitoring/v3.dart b/generated/googleapis/lib/monitoring/v3.dart
index 3a09d37..2501c6d 100644
--- a/generated/googleapis/lib/monitoring/v3.dart
+++ b/generated/googleapis/lib/monitoring/v3.dart
@@ -269,6 +269,11 @@
    * "projects/{project_id_or_number}".
    * Value must have pattern "^projects/[^/]+$".
    *
+   * [childrenOfGroup] - A group name:
+   * "projects/{project_id_or_number}/groups/{group_id}". Returns groups whose
+   * parentName field contains the group name. If no groups have this parent,
+   * the results are empty.
+   *
    * [descendantsOfGroup] - A group name:
    * "projects/{project_id_or_number}/groups/{group_id}". Returns the
    * descendants of the specified group. This is a superset of the results
@@ -290,11 +295,6 @@
    * ancestor. If the specified group has no immediate parent, the results are
    * empty.
    *
-   * [childrenOfGroup] - A group name:
-   * "projects/{project_id_or_number}/groups/{group_id}". Returns groups whose
-   * parentName field contains the group name. If no groups have this parent,
-   * the results are empty.
-   *
    * Completes with a [ListGroupsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -303,7 +303,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListGroupsResponse> list(core.String name, {core.String descendantsOfGroup, core.String pageToken, core.int pageSize, core.String ancestorsOfGroup, core.String childrenOfGroup}) {
+  async.Future<ListGroupsResponse> list(core.String name, {core.String childrenOfGroup, core.String descendantsOfGroup, core.String pageToken, core.int pageSize, core.String ancestorsOfGroup}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -314,6 +314,9 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
+    if (childrenOfGroup != null) {
+      _queryParams["childrenOfGroup"] = [childrenOfGroup];
+    }
     if (descendantsOfGroup != null) {
       _queryParams["descendantsOfGroup"] = [descendantsOfGroup];
     }
@@ -326,9 +329,6 @@
     if (ancestorsOfGroup != null) {
       _queryParams["ancestorsOfGroup"] = [ancestorsOfGroup];
     }
-    if (childrenOfGroup != null) {
-      _queryParams["childrenOfGroup"] = [childrenOfGroup];
-    }
 
     _url = 'v3/' + commons.Escaper.ecapeVariableReserved('$name') + '/groups';
 
@@ -428,13 +428,13 @@
    * field causes the method to return additional results from the previous
    * method call.
    *
+   * [pageSize] - A positive number that is the maximum number of results to
+   * return.
+   *
    * [interval_startTime] - Optional. The beginning of the time interval. The
    * default value for the start time is the end time. The start time must not
    * be later than the end time.
    *
-   * [pageSize] - A positive number that is the maximum number of results to
-   * return.
-   *
    * Completes with a [ListGroupMembersResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -443,7 +443,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListGroupMembersResponse> list(core.String name, {core.String interval_endTime, core.String filter, core.String pageToken, core.String interval_startTime, core.int pageSize}) {
+  async.Future<ListGroupMembersResponse> list(core.String name, {core.String interval_endTime, core.String filter, core.String pageToken, core.int pageSize, core.String interval_startTime}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -463,12 +463,12 @@
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
-    if (interval_startTime != null) {
-      _queryParams["interval.startTime"] = [interval_startTime];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (interval_startTime != null) {
+      _queryParams["interval.startTime"] = [interval_startTime];
+    }
 
     _url = 'v3/' + commons.Escaper.ecapeVariableReserved('$name') + '/members';
 
@@ -635,12 +635,6 @@
    * "projects/{project_id_or_number}".
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [filter] - If this field is empty, all custom and system-defined metric
-   * descriptors are returned. Otherwise, the filter specifies which metric
-   * descriptors are to be returned. For example, the following filter matches
-   * all custom metrics:
-   * metric.type = starts_with("custom.googleapis.com/")
-   *
    * [pageToken] - If this field is not empty then it must contain the
    * nextPageToken value returned by a previous call to this method. Using this
    * field causes the method to return additional results from the previous
@@ -649,6 +643,12 @@
    * [pageSize] - A positive number that is the maximum number of results to
    * return.
    *
+   * [filter] - If this field is empty, all custom and system-defined metric
+   * descriptors are returned. Otherwise, the filter specifies which metric
+   * descriptors are to be returned. For example, the following filter matches
+   * all custom metrics:
+   * metric.type = starts_with("custom.googleapis.com/")
+   *
    * Completes with a [ListMetricDescriptorsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -657,7 +657,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListMetricDescriptorsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListMetricDescriptorsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -668,15 +668,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
 
     _url = 'v3/' + commons.Escaper.ecapeVariableReserved('$name') + '/metricDescriptors';
 
@@ -753,6 +753,12 @@
    * "projects/{project_id_or_number}".
    * Value must have pattern "^projects/[^/]+$".
    *
+   * [filter] - An optional filter describing the descriptors to be returned.
+   * The filter can reference the descriptor's type and labels. For example, the
+   * following filter returns only Google Compute Engine descriptors that have
+   * an id label:
+   * resource.type = starts_with("gce_") AND resource.label:id
+   *
    * [pageToken] - If this field is not empty then it must contain the
    * nextPageToken value returned by a previous call to this method. Using this
    * field causes the method to return additional results from the previous
@@ -761,12 +767,6 @@
    * [pageSize] - A positive number that is the maximum number of results to
    * return.
    *
-   * [filter] - An optional filter describing the descriptors to be returned.
-   * The filter can reference the descriptor's type and labels. For example, the
-   * following filter returns only Google Compute Engine descriptors that have
-   * an id label:
-   * resource.type = starts_with("gce_") AND resource.label:id
-   *
    * Completes with a [ListMonitoredResourceDescriptorsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -775,7 +775,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListMonitoredResourceDescriptorsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
+  async.Future<ListMonitoredResourceDescriptorsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -786,15 +786,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
 
     _url = 'v3/' + commons.Escaper.ecapeVariableReserved('$name') + '/monitoredResourceDescriptors';
 
@@ -876,40 +876,6 @@
    * "projects/{project_id_or_number}".
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [orderBy] - Specifies the order in which the points of the time series
-   * should be returned. By default, results are not ordered. Currently, this
-   * field must be left blank.
-   *
-   * [aggregation_crossSeriesReducer] - The approach to be used to combine time
-   * series. Not all reducer functions may be applied to all time series,
-   * depending on the metric type and the value type of the original time
-   * series. Reduction may change the metric type of value type of the time
-   * series.Time series data must be aligned in order to perform cross-time
-   * series reduction. If crossSeriesReducer is specified, then perSeriesAligner
-   * must be specified and not equal ALIGN_NONE and alignmentPeriod must be
-   * specified; otherwise, an error is returned.
-   * Possible string values are:
-   * - "REDUCE_NONE" : A REDUCE_NONE.
-   * - "REDUCE_MEAN" : A REDUCE_MEAN.
-   * - "REDUCE_MIN" : A REDUCE_MIN.
-   * - "REDUCE_MAX" : A REDUCE_MAX.
-   * - "REDUCE_SUM" : A REDUCE_SUM.
-   * - "REDUCE_STDDEV" : A REDUCE_STDDEV.
-   * - "REDUCE_COUNT" : A REDUCE_COUNT.
-   * - "REDUCE_COUNT_TRUE" : A REDUCE_COUNT_TRUE.
-   * - "REDUCE_FRACTION_TRUE" : A REDUCE_FRACTION_TRUE.
-   * - "REDUCE_PERCENTILE_99" : A REDUCE_PERCENTILE_99.
-   * - "REDUCE_PERCENTILE_95" : A REDUCE_PERCENTILE_95.
-   * - "REDUCE_PERCENTILE_50" : A REDUCE_PERCENTILE_50.
-   * - "REDUCE_PERCENTILE_05" : A REDUCE_PERCENTILE_05.
-   * - "REDUCE_FRACTION_LESS_THAN" : A REDUCE_FRACTION_LESS_THAN.
-   *
-   * [filter] - A monitoring filter that specifies which time series should be
-   * returned. The filter must specify a single metric type, and can
-   * additionally specify metric labels and other information. For example:
-   * metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
-   *     metric.label.instance_name = "my-instance-name"
-   *
    * [pageToken] - If this field is not empty then it must contain the
    * nextPageToken value returned by a previous call to this method. Using this
    * field causes the method to return additional results from the previous
@@ -941,7 +907,6 @@
    * - "ALIGN_PERCENTILE_95" : A ALIGN_PERCENTILE_95.
    * - "ALIGN_PERCENTILE_50" : A ALIGN_PERCENTILE_50.
    * - "ALIGN_PERCENTILE_05" : A ALIGN_PERCENTILE_05.
-   * - "ALIGN_MAKE_DISTRIBUTION" : A ALIGN_MAKE_DISTRIBUTION.
    *
    * [interval_startTime] - Optional. The beginning of the time interval. The
    * default value for the start time is the end time. The start time must not
@@ -952,9 +917,6 @@
    * - "FULL" : A FULL.
    * - "HEADERS" : A HEADERS.
    *
-   * [aggregation_reduceFractionLessThanParams_threshold] - The threshold used
-   * by the REDUCE_FRACTION_LESS_THAN cross-series reducer.
-   *
    * [aggregation_groupByFields] - The set of fields to preserve when
    * crossSeriesReducer is specified. The groupByFields determine how the time
    * series are partitioned into subsets prior to applying the aggregation
@@ -983,10 +945,38 @@
    * will return; if view field is HEADERS, it limits the number of TimeSeries
    * server will return.
    *
-   * [outputPeriod] - If outputPeriod is specified, the data in the response
-   * will have the given period. Must be equal to or longer than
-   * alignmentPeriod. Must not be used when view is HEADERS. Only used when
-   * interval describes an interval longer than a single point.
+   * [orderBy] - Specifies the order in which the points of the time series
+   * should be returned. By default, results are not ordered. Currently, this
+   * field must be left blank.
+   *
+   * [aggregation_crossSeriesReducer] - The approach to be used to combine time
+   * series. Not all reducer functions may be applied to all time series,
+   * depending on the metric type and the value type of the original time
+   * series. Reduction may change the metric type of value type of the time
+   * series.Time series data must be aligned in order to perform cross-time
+   * series reduction. If crossSeriesReducer is specified, then perSeriesAligner
+   * must be specified and not equal ALIGN_NONE and alignmentPeriod must be
+   * specified; otherwise, an error is returned.
+   * Possible string values are:
+   * - "REDUCE_NONE" : A REDUCE_NONE.
+   * - "REDUCE_MEAN" : A REDUCE_MEAN.
+   * - "REDUCE_MIN" : A REDUCE_MIN.
+   * - "REDUCE_MAX" : A REDUCE_MAX.
+   * - "REDUCE_SUM" : A REDUCE_SUM.
+   * - "REDUCE_STDDEV" : A REDUCE_STDDEV.
+   * - "REDUCE_COUNT" : A REDUCE_COUNT.
+   * - "REDUCE_COUNT_TRUE" : A REDUCE_COUNT_TRUE.
+   * - "REDUCE_FRACTION_TRUE" : A REDUCE_FRACTION_TRUE.
+   * - "REDUCE_PERCENTILE_99" : A REDUCE_PERCENTILE_99.
+   * - "REDUCE_PERCENTILE_95" : A REDUCE_PERCENTILE_95.
+   * - "REDUCE_PERCENTILE_50" : A REDUCE_PERCENTILE_50.
+   * - "REDUCE_PERCENTILE_05" : A REDUCE_PERCENTILE_05.
+   *
+   * [filter] - A monitoring filter that specifies which time series should be
+   * returned. The filter must specify a single metric type, and can
+   * additionally specify metric labels and other information. For example:
+   * metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
+   *     metric.label.instance_name = "my-instance-name"
    *
    * Completes with a [ListTimeSeriesResponse].
    *
@@ -996,7 +986,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListTimeSeriesResponse> list(core.String name, {core.String orderBy, core.String aggregation_crossSeriesReducer, core.String filter, core.String pageToken, core.String aggregation_perSeriesAligner, core.String interval_startTime, core.String view, core.double aggregation_reduceFractionLessThanParams_threshold, core.List<core.String> aggregation_groupByFields, core.String interval_endTime, core.String aggregation_alignmentPeriod, core.int pageSize, core.String outputPeriod}) {
+  async.Future<ListTimeSeriesResponse> list(core.String name, {core.String pageToken, core.String aggregation_perSeriesAligner, core.String interval_startTime, core.String view, core.List<core.String> aggregation_groupByFields, core.String interval_endTime, core.String aggregation_alignmentPeriod, core.int pageSize, core.String orderBy, core.String aggregation_crossSeriesReducer, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1007,15 +997,6 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
-    if (orderBy != null) {
-      _queryParams["orderBy"] = [orderBy];
-    }
-    if (aggregation_crossSeriesReducer != null) {
-      _queryParams["aggregation.crossSeriesReducer"] = [aggregation_crossSeriesReducer];
-    }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
@@ -1028,9 +1009,6 @@
     if (view != null) {
       _queryParams["view"] = [view];
     }
-    if (aggregation_reduceFractionLessThanParams_threshold != null) {
-      _queryParams["aggregation.reduceFractionLessThanParams.threshold"] = ["${aggregation_reduceFractionLessThanParams_threshold}"];
-    }
     if (aggregation_groupByFields != null) {
       _queryParams["aggregation.groupByFields"] = aggregation_groupByFields;
     }
@@ -1043,8 +1021,14 @@
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
-    if (outputPeriod != null) {
-      _queryParams["outputPeriod"] = [outputPeriod];
+    if (orderBy != null) {
+      _queryParams["orderBy"] = [orderBy];
+    }
+    if (aggregation_crossSeriesReducer != null) {
+      _queryParams["aggregation.crossSeriesReducer"] = [aggregation_crossSeriesReducer];
+    }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
     }
 
     _url = 'v3/' + commons.Escaper.ecapeVariableReserved('$name') + '/timeSeries';
diff --git a/generated/googleapis/lib/partners/v2.dart b/generated/googleapis/lib/partners/v2.dart
index 9db967f..e6ddaa8 100644
--- a/generated/googleapis/lib/partners/v2.dart
+++ b/generated/googleapis/lib/partners/v2.dart
@@ -50,11 +50,11 @@
    *
    * Request parameters:
    *
-   * [requestMetadata_partnersSessionId] - Google Partners session ID.
-   *
    * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
    * instead of the user's ID.
    *
+   * [requestMetadata_partnersSessionId] - Google Partners session ID.
+   *
    * [pageToken] - A token identifying a page of results that the server
    * returns.
    * Typically, this is the value of `ListAnalyticsResponse.next_page_token`
@@ -99,7 +99,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListAnalyticsResponse> list({core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
+  async.Future<ListAnalyticsResponse> list({core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -107,12 +107,12 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (requestMetadata_partnersSessionId != null) {
-      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
-    }
     if (requestMetadata_userOverrides_userId != null) {
       _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
     }
+    if (requestMetadata_partnersSessionId != null) {
+      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
@@ -215,13 +215,35 @@
    *
    * [companyId] - The ID of the company to retrieve.
    *
+   * [orderBy] - How to order addresses within the returned company. Currently,
+   * only
+   * `address` and `address desc` is supported which will sorted by closest to
+   * farthest in distance from given address and farthest to closest distance
+   * from given address respectively.
+   *
+   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+   * indicate where the traffic comes from.
+   * An identifier has multiple letters created by a team which redirected the
+   * traffic to us.
+   *
+   * [requestMetadata_partnersSessionId] - Google Partners session ID.
+   *
+   * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+   * instead of the user's ID.
+   *
+   * [view] - The view of `Company` resource to be returned. This must not be
+   * `COMPANY_VIEW_UNSPECIFIED`.
+   * Possible string values are:
+   * - "COMPANY_VIEW_UNSPECIFIED" : A COMPANY_VIEW_UNSPECIFIED.
+   * - "CV_GOOGLE_PARTNER_SEARCH" : A CV_GOOGLE_PARTNER_SEARCH.
+   *
+   * [requestMetadata_locale] - Locale to use for the current request.
+   *
    * [address] - The address to use for sorting the company's addresses by
    * proximity.
    * If not given, the geo-located address of the request is used.
    * Used when order_by is set.
    *
-   * [requestMetadata_locale] - Locale to use for the current request.
-   *
    * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
    * where the traffic comes from.
    * An identifier has multiple letters created by a team which redirected the
@@ -230,34 +252,12 @@
    * [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
    * the user's geo-located IP address.
    *
-   * [currencyCode] - If the company's budget is in a different currency code
-   * than this one, then
-   * the converted budget is converted to this currency code.
-   *
    * [requestMetadata_experimentIds] - Experiment IDs the current request
    * belongs to.
    *
-   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
-   * indicate where the traffic comes from.
-   * An identifier has multiple letters created by a team which redirected the
-   * traffic to us.
-   *
-   * [orderBy] - How to order addresses within the returned company. Currently,
-   * only
-   * `address` and `address desc` is supported which will sorted by closest to
-   * farthest in distance from given address and farthest to closest distance
-   * from given address respectively.
-   *
-   * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
-   * instead of the user's ID.
-   *
-   * [requestMetadata_partnersSessionId] - Google Partners session ID.
-   *
-   * [view] - The view of `Company` resource to be returned. This must not be
-   * `COMPANY_VIEW_UNSPECIFIED`.
-   * Possible string values are:
-   * - "COMPANY_VIEW_UNSPECIFIED" : A COMPANY_VIEW_UNSPECIFIED.
-   * - "CV_GOOGLE_PARTNER_SEARCH" : A CV_GOOGLE_PARTNER_SEARCH.
+   * [currencyCode] - If the company's budget is in a different currency code
+   * than this one, then
+   * the converted budget is converted to this currency code.
    *
    * Completes with a [GetCompanyResponse].
    *
@@ -267,7 +267,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<GetCompanyResponse> get(core.String companyId, {core.String address, core.String requestMetadata_locale, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_userOverrides_ipAddress, core.String currencyCode, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String orderBy, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String view}) {
+  async.Future<GetCompanyResponse> get(core.String companyId, {core.String orderBy, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String view, core.String requestMetadata_locale, core.String address, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String currencyCode}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -278,38 +278,38 @@
     if (companyId == null) {
       throw new core.ArgumentError("Parameter companyId is required.");
     }
-    if (address != null) {
-      _queryParams["address"] = [address];
+    if (orderBy != null) {
+      _queryParams["orderBy"] = [orderBy];
+    }
+    if (requestMetadata_trafficSource_trafficSubId != null) {
+      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+    }
+    if (requestMetadata_partnersSessionId != null) {
+      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+    }
+    if (requestMetadata_userOverrides_userId != null) {
+      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+    }
+    if (view != null) {
+      _queryParams["view"] = [view];
     }
     if (requestMetadata_locale != null) {
       _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
     }
+    if (address != null) {
+      _queryParams["address"] = [address];
+    }
     if (requestMetadata_trafficSource_trafficSourceId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
     }
     if (requestMetadata_userOverrides_ipAddress != null) {
       _queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
     }
-    if (currencyCode != null) {
-      _queryParams["currencyCode"] = [currencyCode];
-    }
     if (requestMetadata_experimentIds != null) {
       _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
     }
-    if (requestMetadata_trafficSource_trafficSubId != null) {
-      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
-    }
-    if (orderBy != null) {
-      _queryParams["orderBy"] = [orderBy];
-    }
-    if (requestMetadata_userOverrides_userId != null) {
-      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
-    }
-    if (requestMetadata_partnersSessionId != null) {
-      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
-    }
-    if (view != null) {
-      _queryParams["view"] = [view];
+    if (currencyCode != null) {
+      _queryParams["currencyCode"] = [currencyCode];
     }
 
     _url = 'v2/companies/' + commons.Escaper.ecapeVariable('$companyId');
@@ -329,22 +329,6 @@
    *
    * Request parameters:
    *
-   * [companyName] - Company name to search for.
-   *
-   * [pageToken] - A token identifying a page of results that the server
-   * returns.
-   * Typically, this is the value of `ListCompaniesResponse.next_page_token`
-   * returned from the previous call to
-   * ListCompanies.
-   *
-   * [industries] - List of industries the company can help with.
-   *
-   * [websiteUrl] - Website URL that will help to find a better matched company.
-   * .
-   *
-   * [gpsMotivations] - List of reasons for using Google Partner Search to get
-   * companies.
-   *
    * [languageCodes] - List of language codes that company can support. Only
    * primary language
    * subtags are accepted as defined by
@@ -388,11 +372,11 @@
    * - "COMPANY_VIEW_UNSPECIFIED" : A COMPANY_VIEW_UNSPECIFIED.
    * - "CV_GOOGLE_PARTNER_SEARCH" : A CV_GOOGLE_PARTNER_SEARCH.
    *
-   * [requestMetadata_locale] - Locale to use for the current request.
-   *
    * [address] - The address to use when searching for companies.
    * If not given, the geo-located address of the request is used.
    *
+   * [requestMetadata_locale] - Locale to use for the current request.
+   *
    * [minMonthlyBudget_units] - The whole units of the amount.
    * For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
    *
@@ -408,18 +392,13 @@
    * not empty, any returned agency must have at least one of these services,
    * or one of the specializations in the "specializations" field.
    *
-   * [maxMonthlyBudget_units] - The whole units of the amount.
-   * For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-   *
    * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
    * where the traffic comes from.
    * An identifier has multiple letters created by a team which redirected the
    * traffic to us.
    *
-   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
-   * indicate where the traffic comes from.
-   * An identifier has multiple letters created by a team which redirected the
-   * traffic to us.
+   * [maxMonthlyBudget_units] - The whole units of the amount.
+   * For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
    *
    * [minMonthlyBudget_nanos] - Number of nano (10^-9) units of the amount.
    * The value must be between -999,999,999 and +999,999,999 inclusive.
@@ -428,8 +407,29 @@
    * If `units` is negative, `nanos` must be negative or zero.
    * For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
    *
+   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+   * indicate where the traffic comes from.
+   * An identifier has multiple letters created by a team which redirected the
+   * traffic to us.
+   *
    * [requestMetadata_partnersSessionId] - Google Partners session ID.
    *
+   * [companyName] - Company name to search for.
+   *
+   * [pageToken] - A token identifying a page of results that the server
+   * returns.
+   * Typically, this is the value of `ListCompaniesResponse.next_page_token`
+   * returned from the previous call to
+   * ListCompanies.
+   *
+   * [industries] - List of industries the company can help with.
+   *
+   * [websiteUrl] - Website URL that will help to find a better matched company.
+   * .
+   *
+   * [gpsMotivations] - List of reasons for using Google Partner Search to get
+   * companies.
+   *
    * Completes with a [ListCompaniesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -438,7 +438,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListCompaniesResponse> list({core.String companyName, core.String pageToken, core.List<core.String> industries, core.String websiteUrl, core.List<core.String> gpsMotivations, core.List<core.String> languageCodes, core.int pageSize, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String orderBy, core.List<core.String> specializations, core.String maxMonthlyBudget_currencyCode, core.String minMonthlyBudget_currencyCode, core.String requestMetadata_userOverrides_userId, core.String view, core.String requestMetadata_locale, core.String address, core.String minMonthlyBudget_units, core.int maxMonthlyBudget_nanos, core.List<core.String> services, core.String maxMonthlyBudget_units, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_trafficSource_trafficSubId, core.int minMonthlyBudget_nanos, core.String requestMetadata_partnersSessionId}) {
+  async.Future<ListCompaniesResponse> list({core.List<core.String> languageCodes, core.int pageSize, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String orderBy, core.List<core.String> specializations, core.String maxMonthlyBudget_currencyCode, core.String minMonthlyBudget_currencyCode, core.String requestMetadata_userOverrides_userId, core.String view, core.String address, core.String requestMetadata_locale, core.String minMonthlyBudget_units, core.int maxMonthlyBudget_nanos, core.List<core.String> services, core.String requestMetadata_trafficSource_trafficSourceId, core.String maxMonthlyBudget_units, core.int minMonthlyBudget_nanos, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String companyName, core.String pageToken, core.List<core.String> industries, core.String websiteUrl, core.List<core.String> gpsMotivations}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -446,21 +446,6 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (companyName != null) {
-      _queryParams["companyName"] = [companyName];
-    }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
-    if (industries != null) {
-      _queryParams["industries"] = industries;
-    }
-    if (websiteUrl != null) {
-      _queryParams["websiteUrl"] = [websiteUrl];
-    }
-    if (gpsMotivations != null) {
-      _queryParams["gpsMotivations"] = gpsMotivations;
-    }
     if (languageCodes != null) {
       _queryParams["languageCodes"] = languageCodes;
     }
@@ -491,12 +476,12 @@
     if (view != null) {
       _queryParams["view"] = [view];
     }
-    if (requestMetadata_locale != null) {
-      _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
-    }
     if (address != null) {
       _queryParams["address"] = [address];
     }
+    if (requestMetadata_locale != null) {
+      _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
+    }
     if (minMonthlyBudget_units != null) {
       _queryParams["minMonthlyBudget.units"] = [minMonthlyBudget_units];
     }
@@ -506,21 +491,36 @@
     if (services != null) {
       _queryParams["services"] = services;
     }
-    if (maxMonthlyBudget_units != null) {
-      _queryParams["maxMonthlyBudget.units"] = [maxMonthlyBudget_units];
-    }
     if (requestMetadata_trafficSource_trafficSourceId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
     }
-    if (requestMetadata_trafficSource_trafficSubId != null) {
-      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+    if (maxMonthlyBudget_units != null) {
+      _queryParams["maxMonthlyBudget.units"] = [maxMonthlyBudget_units];
     }
     if (minMonthlyBudget_nanos != null) {
       _queryParams["minMonthlyBudget.nanos"] = ["${minMonthlyBudget_nanos}"];
     }
+    if (requestMetadata_trafficSource_trafficSubId != null) {
+      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+    }
     if (requestMetadata_partnersSessionId != null) {
       _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
     }
+    if (companyName != null) {
+      _queryParams["companyName"] = [companyName];
+    }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
+    if (industries != null) {
+      _queryParams["industries"] = industries;
+    }
+    if (websiteUrl != null) {
+      _queryParams["websiteUrl"] = [websiteUrl];
+    }
+    if (gpsMotivations != null) {
+      _queryParams["gpsMotivations"] = gpsMotivations;
+    }
 
     _url = 'v2/companies';
 
@@ -616,11 +616,11 @@
    * - "CET_DIGITAL_SALES" : A CET_DIGITAL_SALES.
    * - "CET_MOBILE_SITES" : A CET_MOBILE_SITES.
    *
+   * [requestMetadata_partnersSessionId] - Google Partners session ID.
+   *
    * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
    * instead of the user's ID.
    *
-   * [requestMetadata_partnersSessionId] - Google Partners session ID.
-   *
    * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
    * where the traffic comes from.
    * An identifier has multiple letters created by a team which redirected the
@@ -647,7 +647,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ExamToken> getToken(core.String examType, {core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
+  async.Future<ExamToken> getToken(core.String examType, {core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -658,12 +658,12 @@
     if (examType == null) {
       throw new core.ArgumentError("Parameter examType is required.");
     }
-    if (requestMetadata_userOverrides_userId != null) {
-      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
-    }
     if (requestMetadata_partnersSessionId != null) {
       _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
     }
+    if (requestMetadata_userOverrides_userId != null) {
+      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+    }
     if (requestMetadata_trafficSource_trafficSourceId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
     }
@@ -707,6 +707,22 @@
    *
    * Request parameters:
    *
+   * [requestMetadata_locale] - Locale to use for the current request.
+   *
+   * [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
+   * the user's geo-located IP address.
+   *
+   * [requestMetadata_experimentIds] - Experiment IDs the current request
+   * belongs to.
+   *
+   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+   * indicate where the traffic comes from.
+   * An identifier has multiple letters created by a team which redirected the
+   * traffic to us.
+   *
+   * [orderBy] - How to order Leads. Currently, only `create_time`
+   * and `create_time desc` are supported
+   *
    * [requestMetadata_partnersSessionId] - Google Partners session ID.
    *
    * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
@@ -727,22 +743,6 @@
    * An identifier has multiple letters created by a team which redirected the
    * traffic to us.
    *
-   * [requestMetadata_locale] - Locale to use for the current request.
-   *
-   * [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
-   * the user's geo-located IP address.
-   *
-   * [requestMetadata_experimentIds] - Experiment IDs the current request
-   * belongs to.
-   *
-   * [orderBy] - How to order Leads. Currently, only `create_time`
-   * and `create_time desc` are supported
-   *
-   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
-   * indicate where the traffic comes from.
-   * An identifier has multiple letters created by a team which redirected the
-   * traffic to us.
-   *
    * Completes with a [ListLeadsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -751,7 +751,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListLeadsResponse> list({core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String orderBy, core.String requestMetadata_trafficSource_trafficSubId}) {
+  async.Future<ListLeadsResponse> list({core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String orderBy, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -759,6 +759,21 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (requestMetadata_locale != null) {
+      _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
+    }
+    if (requestMetadata_userOverrides_ipAddress != null) {
+      _queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
+    }
+    if (requestMetadata_experimentIds != null) {
+      _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
+    }
+    if (requestMetadata_trafficSource_trafficSubId != null) {
+      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+    }
+    if (orderBy != null) {
+      _queryParams["orderBy"] = [orderBy];
+    }
     if (requestMetadata_partnersSessionId != null) {
       _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
     }
@@ -774,21 +789,6 @@
     if (requestMetadata_trafficSource_trafficSourceId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
     }
-    if (requestMetadata_locale != null) {
-      _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
-    }
-    if (requestMetadata_userOverrides_ipAddress != null) {
-      _queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
-    }
-    if (requestMetadata_experimentIds != null) {
-      _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
-    }
-    if (orderBy != null) {
-      _queryParams["orderBy"] = [orderBy];
-    }
-    if (requestMetadata_trafficSource_trafficSubId != null) {
-      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
-    }
 
     _url = 'v2/leads';
 
@@ -818,6 +818,11 @@
    *
    * Request parameters:
    *
+   * [requestMetadata_partnersSessionId] - Google Partners session ID.
+   *
+   * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+   * instead of the user's ID.
+   *
    * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
    * where the traffic comes from.
    * An identifier has multiple letters created by a team which redirected the
@@ -836,11 +841,6 @@
    * An identifier has multiple letters created by a team which redirected the
    * traffic to us.
    *
-   * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
-   * instead of the user's ID.
-   *
-   * [requestMetadata_partnersSessionId] - Google Partners session ID.
-   *
    * Completes with a [ListOffersResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -849,7 +849,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListOffersResponse> list({core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId}) {
+  async.Future<ListOffersResponse> list({core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -857,6 +857,12 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (requestMetadata_partnersSessionId != null) {
+      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+    }
+    if (requestMetadata_userOverrides_userId != null) {
+      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+    }
     if (requestMetadata_trafficSource_trafficSourceId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
     }
@@ -872,12 +878,6 @@
     if (requestMetadata_trafficSource_trafficSubId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
     }
-    if (requestMetadata_userOverrides_userId != null) {
-      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
-    }
-    if (requestMetadata_partnersSessionId != null) {
-      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
-    }
 
     _url = 'v2/offers';
 
@@ -905,6 +905,12 @@
    *
    * Request parameters:
    *
+   * [requestMetadata_experimentIds] - Experiment IDs the current request
+   * belongs to.
+   *
+   * [entireCompany] - if true, show history for the entire company.  Requires
+   * user to be admin.
+   *
    * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
    * indicate where the traffic comes from.
    * An identifier has multiple letters created by a team which redirected the
@@ -936,12 +942,6 @@
    * [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
    * the user's geo-located IP address.
    *
-   * [requestMetadata_experimentIds] - Experiment IDs the current request
-   * belongs to.
-   *
-   * [entireCompany] - if true, show history for the entire company.  Requires
-   * user to be admin.
-   *
    * Completes with a [ListOffersHistoryResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -950,7 +950,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListOffersHistoryResponse> list({core.String requestMetadata_trafficSource_trafficSubId, core.String orderBy, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.bool entireCompany}) {
+  async.Future<ListOffersHistoryResponse> list({core.List<core.String> requestMetadata_experimentIds, core.bool entireCompany, core.String requestMetadata_trafficSource_trafficSubId, core.String orderBy, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -958,6 +958,12 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (requestMetadata_experimentIds != null) {
+      _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
+    }
+    if (entireCompany != null) {
+      _queryParams["entireCompany"] = ["${entireCompany}"];
+    }
     if (requestMetadata_trafficSource_trafficSubId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
     }
@@ -985,12 +991,6 @@
     if (requestMetadata_userOverrides_ipAddress != null) {
       _queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
     }
-    if (requestMetadata_experimentIds != null) {
-      _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
-    }
-    if (entireCompany != null) {
-      _queryParams["entireCompany"] = ["${entireCompany}"];
-    }
 
     _url = 'v2/offers/history';
 
@@ -1158,11 +1158,11 @@
    * [userId] - The ID of the user. Can be set to <code>me</code> to mean
    * the currently authenticated user.
    *
-   * [requestMetadata_partnersSessionId] - Google Partners session ID.
-   *
    * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
    * instead of the user's ID.
    *
+   * [requestMetadata_partnersSessionId] - Google Partners session ID.
+   *
    * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
    * where the traffic comes from.
    * An identifier has multiple letters created by a team which redirected the
@@ -1189,7 +1189,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<CompanyRelation> createCompanyRelation(CompanyRelation request, core.String userId, {core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
+  async.Future<CompanyRelation> createCompanyRelation(CompanyRelation request, core.String userId, {core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1203,12 +1203,12 @@
     if (userId == null) {
       throw new core.ArgumentError("Parameter userId is required.");
     }
-    if (requestMetadata_partnersSessionId != null) {
-      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
-    }
     if (requestMetadata_userOverrides_userId != null) {
       _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
     }
+    if (requestMetadata_partnersSessionId != null) {
+      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+    }
     if (requestMetadata_trafficSource_trafficSourceId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
     }
@@ -1253,11 +1253,11 @@
    * An identifier has multiple letters created by a team which redirected the
    * traffic to us.
    *
+   * [requestMetadata_partnersSessionId] - Google Partners session ID.
+   *
    * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
    * instead of the user's ID.
    *
-   * [requestMetadata_partnersSessionId] - Google Partners session ID.
-   *
    * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
    * where the traffic comes from.
    * An identifier has multiple letters created by a team which redirected the
@@ -1276,7 +1276,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Empty> deleteCompanyRelation(core.String userId, {core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress}) {
+  async.Future<Empty> deleteCompanyRelation(core.String userId, {core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1293,12 +1293,12 @@
     if (requestMetadata_trafficSource_trafficSubId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
     }
-    if (requestMetadata_userOverrides_userId != null) {
-      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
-    }
     if (requestMetadata_partnersSessionId != null) {
       _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
     }
+    if (requestMetadata_userOverrides_userId != null) {
+      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+    }
     if (requestMetadata_trafficSource_trafficSourceId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
     }
@@ -1330,6 +1330,14 @@
    * the currently
    * authenticated user.
    *
+   * [requestMetadata_experimentIds] - Experiment IDs the current request
+   * belongs to.
+   *
+   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+   * indicate where the traffic comes from.
+   * An identifier has multiple letters created by a team which redirected the
+   * traffic to us.
+   *
    * [requestMetadata_partnersSessionId] - Google Partners session ID.
    *
    * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
@@ -1351,14 +1359,6 @@
    * [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
    * the user's geo-located IP address.
    *
-   * [requestMetadata_experimentIds] - Experiment IDs the current request
-   * belongs to.
-   *
-   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
-   * indicate where the traffic comes from.
-   * An identifier has multiple letters created by a team which redirected the
-   * traffic to us.
-   *
    * Completes with a [User].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1367,7 +1367,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<User> get(core.String userId, {core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String userView, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
+  async.Future<User> get(core.String userId, {core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String userView, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1378,6 +1378,12 @@
     if (userId == null) {
       throw new core.ArgumentError("Parameter userId is required.");
     }
+    if (requestMetadata_experimentIds != null) {
+      _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
+    }
+    if (requestMetadata_trafficSource_trafficSubId != null) {
+      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+    }
     if (requestMetadata_partnersSessionId != null) {
       _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
     }
@@ -1396,12 +1402,6 @@
     if (requestMetadata_userOverrides_ipAddress != null) {
       _queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
     }
-    if (requestMetadata_experimentIds != null) {
-      _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
-    }
-    if (requestMetadata_trafficSource_trafficSubId != null) {
-      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
-    }
 
     _url = 'v2/users/' + commons.Escaper.ecapeVariable('$userId');
 
@@ -1514,14 +1514,6 @@
    *
    * Request parameters:
    *
-   * [requestMetadata_experimentIds] - Experiment IDs the current request
-   * belongs to.
-   *
-   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
-   * indicate where the traffic comes from.
-   * An identifier has multiple letters created by a team which redirected the
-   * traffic to us.
-   *
    * [requestMetadata_partnersSessionId] - Google Partners session ID.
    *
    * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
@@ -1537,6 +1529,14 @@
    * [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
    * the user's geo-located IP address.
    *
+   * [requestMetadata_experimentIds] - Experiment IDs the current request
+   * belongs to.
+   *
+   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+   * indicate where the traffic comes from.
+   * An identifier has multiple letters created by a team which redirected the
+   * traffic to us.
+   *
    * Completes with a [GetPartnersStatusResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1545,7 +1545,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<GetPartnersStatusResponse> getPartnersstatus({core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress}) {
+  async.Future<GetPartnersStatusResponse> getPartnersstatus({core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1553,12 +1553,6 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (requestMetadata_experimentIds != null) {
-      _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
-    }
-    if (requestMetadata_trafficSource_trafficSubId != null) {
-      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
-    }
     if (requestMetadata_partnersSessionId != null) {
       _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
     }
@@ -1574,6 +1568,12 @@
     if (requestMetadata_userOverrides_ipAddress != null) {
       _queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
     }
+    if (requestMetadata_experimentIds != null) {
+      _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
+    }
+    if (requestMetadata_trafficSource_trafficSubId != null) {
+      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+    }
 
     _url = 'v2/partnersstatus';
 
@@ -1595,16 +1595,11 @@
    *
    * Request parameters:
    *
-   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
-   * indicate where the traffic comes from.
-   * An identifier has multiple letters created by a team which redirected the
-   * traffic to us.
+   * [requestMetadata_partnersSessionId] - Google Partners session ID.
    *
    * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
    * instead of the user's ID.
    *
-   * [requestMetadata_partnersSessionId] - Google Partners session ID.
-   *
    * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
    * where the traffic comes from.
    * An identifier has multiple letters created by a team which redirected the
@@ -1621,6 +1616,11 @@
    * [requestMetadata_experimentIds] - Experiment IDs the current request
    * belongs to.
    *
+   * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+   * indicate where the traffic comes from.
+   * An identifier has multiple letters created by a team which redirected the
+   * traffic to us.
+   *
    * Completes with a [Company].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1629,7 +1629,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Company> updateCompanies(Company request, {core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.String updateMask, core.List<core.String> requestMetadata_experimentIds}) {
+  async.Future<Company> updateCompanies(Company request, {core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.String updateMask, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1640,15 +1640,12 @@
     if (request != null) {
       _body = convert.JSON.encode((request).toJson());
     }
-    if (requestMetadata_trafficSource_trafficSubId != null) {
-      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+    if (requestMetadata_partnersSessionId != null) {
+      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
     }
     if (requestMetadata_userOverrides_userId != null) {
       _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
     }
-    if (requestMetadata_partnersSessionId != null) {
-      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
-    }
     if (requestMetadata_trafficSource_trafficSourceId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
     }
@@ -1664,6 +1661,9 @@
     if (requestMetadata_experimentIds != null) {
       _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
     }
+    if (requestMetadata_trafficSource_trafficSubId != null) {
+      _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+    }
 
     _url = 'v2/companies';
 
@@ -1684,6 +1684,16 @@
    *
    * Request parameters:
    *
+   * [requestMetadata_partnersSessionId] - Google Partners session ID.
+   *
+   * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+   * instead of the user's ID.
+   *
+   * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
+   * where the traffic comes from.
+   * An identifier has multiple letters created by a team which redirected the
+   * traffic to us.
+   *
    * [requestMetadata_locale] - Locale to use for the current request.
    *
    * [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
@@ -1701,16 +1711,6 @@
    * An identifier has multiple letters created by a team which redirected the
    * traffic to us.
    *
-   * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
-   * instead of the user's ID.
-   *
-   * [requestMetadata_partnersSessionId] - Google Partners session ID.
-   *
-   * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
-   * where the traffic comes from.
-   * An identifier has multiple letters created by a team which redirected the
-   * traffic to us.
-   *
    * Completes with a [Lead].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1719,7 +1719,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Lead> updateLeads(Lead request, {core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.String updateMask, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId}) {
+  async.Future<Lead> updateLeads(Lead request, {core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.String updateMask, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1730,6 +1730,15 @@
     if (request != null) {
       _body = convert.JSON.encode((request).toJson());
     }
+    if (requestMetadata_partnersSessionId != null) {
+      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+    }
+    if (requestMetadata_userOverrides_userId != null) {
+      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+    }
+    if (requestMetadata_trafficSource_trafficSourceId != null) {
+      _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
+    }
     if (requestMetadata_locale != null) {
       _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
     }
@@ -1745,15 +1754,6 @@
     if (requestMetadata_trafficSource_trafficSubId != null) {
       _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
     }
-    if (requestMetadata_userOverrides_userId != null) {
-      _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
-    }
-    if (requestMetadata_partnersSessionId != null) {
-      _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
-    }
-    if (requestMetadata_trafficSource_trafficSourceId != null) {
-      _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
-    }
 
     _url = 'v2/leads';
 
diff --git a/generated/googleapis/lib/people/v1.dart b/generated/googleapis/lib/people/v1.dart
index 246dc84..201a9c8 100644
--- a/generated/googleapis/lib/people/v1.dart
+++ b/generated/googleapis/lib/people/v1.dart
@@ -68,11 +68,11 @@
    *
    * Request parameters:
    *
-   * [resourceNames] - The resource names of the contact groups to get.
-   *
    * [maxMembers] - Specifies the maximum number of members to return for each
    * group.
    *
+   * [resourceNames] - The resource names of the contact groups to get.
+   *
    * Completes with a [BatchGetContactGroupsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -81,7 +81,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<BatchGetContactGroupsResponse> batchGet({core.List<core.String> resourceNames, core.int maxMembers}) {
+  async.Future<BatchGetContactGroupsResponse> batchGet({core.int maxMembers, core.List<core.String> resourceNames}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -89,12 +89,12 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (resourceNames != null) {
-      _queryParams["resourceNames"] = resourceNames;
-    }
     if (maxMembers != null) {
       _queryParams["maxMembers"] = ["${maxMembers}"];
     }
+    if (resourceNames != null) {
+      _queryParams["resourceNames"] = resourceNames;
+    }
 
     _url = 'v1/contactGroups:batchGet';
 
@@ -246,16 +246,16 @@
    *
    * Request parameters:
    *
+   * [pageToken] - The next_page_token value returned from a previous call to
+   * [ListContactGroups](/people/api/rest/v1/contactgroups/list).
+   * Requests the next page of resources.
+   *
    * [pageSize] - The maximum number of resources to return.
    *
    * [syncToken] - A sync token, returned by a previous call to
    * `contactgroups.list`.
    * Only resources changed since the sync token was created will be returned.
    *
-   * [pageToken] - The next_page_token value returned from a previous call to
-   * [ListContactGroups](/people/api/rest/v1/contactgroups/list).
-   * Requests the next page of resources.
-   *
    * Completes with a [ListContactGroupsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -264,7 +264,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListContactGroupsResponse> list({core.int pageSize, core.String syncToken, core.String pageToken}) {
+  async.Future<ListContactGroupsResponse> list({core.String pageToken, core.int pageSize, core.String syncToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -272,15 +272,15 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
     if (syncToken != null) {
       _queryParams["syncToken"] = [syncToken];
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
 
     _url = 'v1/contactGroups';
 
@@ -510,6 +510,11 @@
    * [`people.connections.list`](/people/api/rest/v1/people.connections/list).
    * Value must have pattern "^people/[^/]+$".
    *
+   * [requestMask_includeField] - **Required.** Comma-separated list of person
+   * fields to be included in the
+   * response. Each path should start with `person.`: for example,
+   * `person.names` or `person.photos`.
+   *
    * [personFields] - **Required.** A field mask to restrict which fields on the
    * person are
    * returned. Valid values are:
@@ -542,11 +547,6 @@
    * * taglines
    * * urls
    *
-   * [requestMask_includeField] - **Required.** Comma-separated list of person
-   * fields to be included in the
-   * response. Each path should start with `person.`: for example,
-   * `person.names` or `person.photos`.
-   *
    * Completes with a [Person].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -555,7 +555,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<Person> get(core.String resourceName, {core.String personFields, core.String requestMask_includeField}) {
+  async.Future<Person> get(core.String resourceName, {core.String requestMask_includeField, core.String personFields}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -566,12 +566,12 @@
     if (resourceName == null) {
       throw new core.ArgumentError("Parameter resourceName is required.");
     }
-    if (personFields != null) {
-      _queryParams["personFields"] = [personFields];
-    }
     if (requestMask_includeField != null) {
       _queryParams["requestMask.includeField"] = [requestMask_includeField];
     }
+    if (personFields != null) {
+      _queryParams["personFields"] = [personFields];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resourceName');
 
@@ -594,6 +594,23 @@
    *
    * Request parameters:
    *
+   * [requestMask_includeField] - **Required.** Comma-separated list of person
+   * fields to be included in the
+   * response. Each path should start with `person.`: for example,
+   * `person.names` or `person.photos`.
+   *
+   * [resourceNames] - The resource names of the people to provide information
+   * about.
+   *
+   * - To get information about the authenticated user, specify `people/me`.
+   * - To get information about a google account, specify
+   *   `people/`<var>account_id</var>.
+   * - To get information about a contact, specify the resource name that
+   *   identifies the contact as returned by
+   * [`people.connections.list`](/people/api/rest/v1/people.connections/list).
+   *
+   * You can include up to 50 resource names in one request.
+   *
    * [personFields] - **Required.** A field mask to restrict which fields on
    * each person are
    * returned. Valid values are:
@@ -626,23 +643,6 @@
    * * taglines
    * * urls
    *
-   * [requestMask_includeField] - **Required.** Comma-separated list of person
-   * fields to be included in the
-   * response. Each path should start with `person.`: for example,
-   * `person.names` or `person.photos`.
-   *
-   * [resourceNames] - The resource names of the people to provide information
-   * about.
-   *
-   * - To get information about the authenticated user, specify `people/me`.
-   * - To get information about a google account, specify
-   *   `people/`<var>account_id</var>.
-   * - To get information about a contact, specify the resource name that
-   *   identifies the contact as returned by
-   * [`people.connections.list`](/people/api/rest/v1/people.connections/list).
-   *
-   * You can include up to 50 resource names in one request.
-   *
    * Completes with a [GetPeopleResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -651,7 +651,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<GetPeopleResponse> getBatchGet({core.String personFields, core.String requestMask_includeField, core.List<core.String> resourceNames}) {
+  async.Future<GetPeopleResponse> getBatchGet({core.String requestMask_includeField, core.List<core.String> resourceNames, core.String personFields}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -659,15 +659,15 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (personFields != null) {
-      _queryParams["personFields"] = [personFields];
-    }
     if (requestMask_includeField != null) {
       _queryParams["requestMask.includeField"] = [requestMask_includeField];
     }
     if (resourceNames != null) {
       _queryParams["resourceNames"] = resourceNames;
     }
+    if (personFields != null) {
+      _queryParams["personFields"] = [personFields];
+    }
 
     _url = 'v1/people:batchGet';
 
@@ -834,15 +834,15 @@
    *
    * [pageToken] - The token of the page to be returned.
    *
-   * [pageSize] - The number of connections to include in the response. Valid
-   * values are
-   * between 1 and 2000, inclusive. Defaults to 100.
-   *
    * [requestMask_includeField] - **Required.** Comma-separated list of person
    * fields to be included in the
    * response. Each path should start with `person.`: for example,
    * `person.names` or `person.photos`.
    *
+   * [pageSize] - The number of connections to include in the response. Valid
+   * values are
+   * between 1 and 2000, inclusive. Defaults to 100.
+   *
    * [syncToken] - A sync token, returned by a previous call to
    * `people.connections.list`.
    * Only resources changed since the sync token was created will be returned.
@@ -855,7 +855,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListConnectionsResponse> list(core.String resourceName, {core.String personFields, core.String sortOrder, core.bool requestSyncToken, core.String pageToken, core.int pageSize, core.String requestMask_includeField, core.String syncToken}) {
+  async.Future<ListConnectionsResponse> list(core.String resourceName, {core.String personFields, core.String sortOrder, core.bool requestSyncToken, core.String pageToken, core.String requestMask_includeField, core.int pageSize, core.String syncToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -878,12 +878,12 @@
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (requestMask_includeField != null) {
       _queryParams["requestMask.includeField"] = [requestMask_includeField];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
     if (syncToken != null) {
       _queryParams["syncToken"] = [syncToken];
     }
diff --git a/generated/googleapis/lib/playmoviespartner/v1.dart b/generated/googleapis/lib/playmoviespartner/v1.dart
index 17d310c..5823934 100644
--- a/generated/googleapis/lib/playmoviespartner/v1.dart
+++ b/generated/googleapis/lib/playmoviespartner/v1.dart
@@ -103,6 +103,15 @@
    * [accountId] - REQUIRED. See _General rules_ for more information about this
    * field.
    *
+   * [pphNames] - See _List methods rules_ for info about this field.
+   *
+   * [altId] - Filter Avails that match a case-insensitive, partner-specific
+   * custom id.
+   * NOTE: this field is deprecated and will be removed on V2; `alt_ids`
+   * should be used instead.
+   *
+   * [studioNames] - See _List methods rules_ for info about this field.
+   *
    * [territories] - Filter Avails that match (case-insensitive) any of the
    * given country codes,
    * using the "ISO 3166-1 alpha-2" format (examples: "US", "us", "Us").
@@ -121,15 +130,6 @@
    * [altIds] - Filter Avails that match (case-insensitive) any of the given
    * partner-specific custom ids.
    *
-   * [pphNames] - See _List methods rules_ for info about this field.
-   *
-   * [altId] - Filter Avails that match a case-insensitive, partner-specific
-   * custom id.
-   * NOTE: this field is deprecated and will be removed on V2; `alt_ids`
-   * should be used instead.
-   *
-   * [studioNames] - See _List methods rules_ for info about this field.
-   *
    * Completes with a [ListAvailsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -138,7 +138,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListAvailsResponse> list(core.String accountId, {core.List<core.String> territories, core.String title, core.List<core.String> videoIds, core.String pageToken, core.int pageSize, core.List<core.String> altIds, core.List<core.String> pphNames, core.String altId, core.List<core.String> studioNames}) {
+  async.Future<ListAvailsResponse> list(core.String accountId, {core.List<core.String> pphNames, core.String altId, core.List<core.String> studioNames, core.List<core.String> territories, core.String title, core.List<core.String> videoIds, core.String pageToken, core.int pageSize, core.List<core.String> altIds}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -149,6 +149,15 @@
     if (accountId == null) {
       throw new core.ArgumentError("Parameter accountId is required.");
     }
+    if (pphNames != null) {
+      _queryParams["pphNames"] = pphNames;
+    }
+    if (altId != null) {
+      _queryParams["altId"] = [altId];
+    }
+    if (studioNames != null) {
+      _queryParams["studioNames"] = studioNames;
+    }
     if (territories != null) {
       _queryParams["territories"] = territories;
     }
@@ -167,15 +176,6 @@
     if (altIds != null) {
       _queryParams["altIds"] = altIds;
     }
-    if (pphNames != null) {
-      _queryParams["pphNames"] = pphNames;
-    }
-    if (altId != null) {
-      _queryParams["altId"] = [altId];
-    }
-    if (studioNames != null) {
-      _queryParams["studioNames"] = studioNames;
-    }
 
     _url = 'v1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '/avails';
 
@@ -257,25 +257,25 @@
    * [accountId] - REQUIRED. See _General rules_ for more information about this
    * field.
    *
+   * [pageToken] - See _List methods rules_ for info about this field.
+   *
+   * [customId] - Filter Orders that match a case-insensitive, partner-specific
+   * custom id.
+   *
+   * [videoIds] - Filter Orders that match any of the given `video_id`s.
+   *
    * [pageSize] - See _List methods rules_ for info about this field.
    *
    * [pphNames] - See _List methods rules_ for info about this field.
    *
    * [status] - Filter Orders that match one of the given status.
    *
+   * [studioNames] - See _List methods rules_ for info about this field.
+   *
    * [name] - Filter that matches Orders with a `name`, `show`, `season` or
    * `episode`
    * that contains the given case-insensitive name.
    *
-   * [studioNames] - See _List methods rules_ for info about this field.
-   *
-   * [videoIds] - Filter Orders that match any of the given `video_id`s.
-   *
-   * [customId] - Filter Orders that match a case-insensitive, partner-specific
-   * custom id.
-   *
-   * [pageToken] - See _List methods rules_ for info about this field.
-   *
    * Completes with a [ListOrdersResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -284,7 +284,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListOrdersResponse> list(core.String accountId, {core.int pageSize, core.List<core.String> pphNames, core.List<core.String> status, core.String name, core.List<core.String> studioNames, core.List<core.String> videoIds, core.String customId, core.String pageToken}) {
+  async.Future<ListOrdersResponse> list(core.String accountId, {core.String pageToken, core.String customId, core.List<core.String> videoIds, core.int pageSize, core.List<core.String> pphNames, core.List<core.String> status, core.List<core.String> studioNames, core.String name}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -295,6 +295,15 @@
     if (accountId == null) {
       throw new core.ArgumentError("Parameter accountId is required.");
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
+    if (customId != null) {
+      _queryParams["customId"] = [customId];
+    }
+    if (videoIds != null) {
+      _queryParams["videoIds"] = videoIds;
+    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
@@ -304,20 +313,11 @@
     if (status != null) {
       _queryParams["status"] = status;
     }
-    if (name != null) {
-      _queryParams["name"] = [name];
-    }
     if (studioNames != null) {
       _queryParams["studioNames"] = studioNames;
     }
-    if (videoIds != null) {
-      _queryParams["videoIds"] = videoIds;
-    }
-    if (customId != null) {
-      _queryParams["customId"] = [customId];
-    }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
+    if (name != null) {
+      _queryParams["name"] = [name];
     }
 
     _url = 'v1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '/orders';
@@ -356,13 +356,13 @@
    *
    * [seasonIds] - Filter StoreInfos that match any of the given `season_id`s.
    *
-   * [pageToken] - See _List methods rules_ for info about this field.
+   * [videoIds] - Filter StoreInfos that match any of the given `video_id`s.
    *
    * [videoId] - Filter StoreInfos that match a given `video_id`.
    * NOTE: this field is deprecated and will be removed on V2; `video_ids`
    * should be used instead.
    *
-   * [videoIds] - Filter StoreInfos that match any of the given `video_id`s.
+   * [pageToken] - See _List methods rules_ for info about this field.
    *
    * [pageSize] - See _List methods rules_ for info about this field.
    *
@@ -374,11 +374,11 @@
    * given country
    * codes, using the "ISO 3166-1 alpha-2" format (examples: "US", "us", "Us").
    *
-   * [studioNames] - See _List methods rules_ for info about this field.
-   *
    * [name] - Filter that matches StoreInfos with a `name` or `show_name`
    * that contains the given case-insensitive name.
    *
+   * [studioNames] - See _List methods rules_ for info about this field.
+   *
    * Completes with a [ListStoreInfosResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -387,7 +387,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListStoreInfosResponse> list(core.String accountId, {core.List<core.String> seasonIds, core.String pageToken, core.String videoId, core.List<core.String> videoIds, core.int pageSize, core.List<core.String> mids, core.List<core.String> pphNames, core.List<core.String> countries, core.List<core.String> studioNames, core.String name}) {
+  async.Future<ListStoreInfosResponse> list(core.String accountId, {core.List<core.String> seasonIds, core.List<core.String> videoIds, core.String videoId, core.String pageToken, core.int pageSize, core.List<core.String> mids, core.List<core.String> pphNames, core.List<core.String> countries, core.String name, core.List<core.String> studioNames}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -401,14 +401,14 @@
     if (seasonIds != null) {
       _queryParams["seasonIds"] = seasonIds;
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
+    if (videoIds != null) {
+      _queryParams["videoIds"] = videoIds;
     }
     if (videoId != null) {
       _queryParams["videoId"] = [videoId];
     }
-    if (videoIds != null) {
-      _queryParams["videoIds"] = videoIds;
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
@@ -422,12 +422,12 @@
     if (countries != null) {
       _queryParams["countries"] = countries;
     }
-    if (studioNames != null) {
-      _queryParams["studioNames"] = studioNames;
-    }
     if (name != null) {
       _queryParams["name"] = [name];
     }
+    if (studioNames != null) {
+      _queryParams["studioNames"] = studioNames;
+    }
 
     _url = 'v1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '/storeInfos';
 
diff --git a/generated/googleapis/lib/pubsub/v1.dart b/generated/googleapis/lib/pubsub/v1.dart
index 6e38f9e..4eec35b 100644
--- a/generated/googleapis/lib/pubsub/v1.dart
+++ b/generated/googleapis/lib/pubsub/v1.dart
@@ -457,13 +457,13 @@
    * Format is `projects/{project}`.
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [pageSize] - Maximum number of subscriptions to return.
-   *
    * [pageToken] - The value returned by the last `ListSubscriptionsResponse`;
    * indicates that
    * this is a continuation of a prior `ListSubscriptions` call, and that the
    * system should return the next page of data.
    *
+   * [pageSize] - Maximum number of subscriptions to return.
+   *
    * Completes with a [ListSubscriptionsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -472,7 +472,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListSubscriptionsResponse> list(core.String project, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListSubscriptionsResponse> list(core.String project, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -483,12 +483,12 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$project') + '/subscriptions';
 
@@ -953,13 +953,13 @@
    * Format is `projects/{project}`.
    * Value must have pattern "^projects/[^/]+$".
    *
-   * [pageSize] - Maximum number of topics to return.
-   *
    * [pageToken] - The value returned by the last `ListTopicsResponse`;
    * indicates that this is
    * a continuation of a prior `ListTopics` call, and that the system should
    * return the next page of data.
    *
+   * [pageSize] - Maximum number of topics to return.
+   *
    * Completes with a [ListTopicsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -968,7 +968,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListTopicsResponse> list(core.String project, {core.int pageSize, core.String pageToken}) {
+  async.Future<ListTopicsResponse> list(core.String project, {core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -979,12 +979,12 @@
     if (project == null) {
       throw new core.ArgumentError("Parameter project is required.");
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$project') + '/topics';
 
@@ -1165,13 +1165,13 @@
    * Format is `projects/{project}/topics/{topic}`.
    * Value must have pattern "^projects/[^/]+/topics/[^/]+$".
    *
+   * [pageSize] - Maximum number of subscription names to return.
+   *
    * [pageToken] - The value returned by the last
    * `ListTopicSubscriptionsResponse`; indicates
    * that this is a continuation of a prior `ListTopicSubscriptions` call, and
    * that the system should return the next page of data.
    *
-   * [pageSize] - Maximum number of subscription names to return.
-   *
    * Completes with a [ListTopicSubscriptionsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1180,7 +1180,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListTopicSubscriptionsResponse> list(core.String topic, {core.String pageToken, core.int pageSize}) {
+  async.Future<ListTopicSubscriptionsResponse> list(core.String topic, {core.int pageSize, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -1191,12 +1191,12 @@
     if (topic == null) {
       throw new core.ArgumentError("Parameter topic is required.");
     }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$topic') + '/subscriptions';
 
diff --git a/generated/googleapis/lib/runtimeconfig/v1.dart b/generated/googleapis/lib/runtimeconfig/v1.dart
index 0759e47..21d80a8 100644
--- a/generated/googleapis/lib/runtimeconfig/v1.dart
+++ b/generated/googleapis/lib/runtimeconfig/v1.dart
@@ -157,12 +157,12 @@
    * [name] - The name of the operation's parent resource.
    * Value must have pattern "^operations$".
    *
-   * [filter] - The standard list filter.
-   *
    * [pageToken] - The standard list page token.
    *
    * [pageSize] - The standard list page size.
    *
+   * [filter] - The standard list filter.
+   *
    * Completes with a [ListOperationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -171,7 +171,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListOperationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListOperationsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -182,15 +182,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
 
@@ -421,8 +421,8 @@
   /** The status code, which should be an enum value of google.rpc.Code. */
   core.int code;
   /**
-   * A list of messages that carry the error details.  There will be a
-   * common set of message types for APIs to use.
+   * A list of messages that carry the error details.  There is a common set of
+   * message types for APIs to use.
    *
    * The values for Object must be JSON objects. It can consist of `num`,
    * `String`, `bool` and `null` as well as `Map` and `List` values.
diff --git a/generated/googleapis/lib/safebrowsing/v4.dart b/generated/googleapis/lib/safebrowsing/v4.dart
index 300226c..75ac1a0 100644
--- a/generated/googleapis/lib/safebrowsing/v4.dart
+++ b/generated/googleapis/lib/safebrowsing/v4.dart
@@ -15,10 +15,8 @@
 const core.String USER_AGENT = 'dart-api-client safebrowsing/v4';
 
 /**
- * The Safe Browsing API is an experimental API that allows client applications
- * to check URLs against Google's constantly-updated blacklists of suspected
- * phishing and malware pages. Your client application can use the API to
- * download an encrypted table for local, client-side lookups of URLs.
+ * Enables client applications to check web resources (most commonly URLs)
+ * against Google-generated lists of unsafe web resources.
  */
 class SafebrowsingApi {
 
@@ -47,12 +45,12 @@
    *
    * [encodedRequest] - A serialized FindFullHashesRequest proto.
    *
-   * [clientVersion] - The version of the client implementation.
-   *
    * [clientId] - A client ID that (hopefully) uniquely identifies the client
    * implementation
    * of the Safe Browsing API.
    *
+   * [clientVersion] - The version of the client implementation.
+   *
    * Completes with a [FindFullHashesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -61,7 +59,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<FindFullHashesResponse> get(core.String encodedRequest, {core.String clientVersion, core.String clientId}) {
+  async.Future<FindFullHashesResponse> get(core.String encodedRequest, {core.String clientId, core.String clientVersion}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -72,12 +70,12 @@
     if (encodedRequest == null) {
       throw new core.ArgumentError("Parameter encodedRequest is required.");
     }
-    if (clientVersion != null) {
-      _queryParams["clientVersion"] = [clientVersion];
-    }
     if (clientId != null) {
       _queryParams["clientId"] = [clientId];
     }
+    if (clientVersion != null) {
+      _queryParams["clientVersion"] = [clientVersion];
+    }
 
     _url = 'v4/encodedFullHashes/' + commons.Escaper.ecapeVariable('$encodedRequest');
 
@@ -105,12 +103,12 @@
    *
    * [encodedRequest] - A serialized FetchThreatListUpdatesRequest proto.
    *
-   * [clientVersion] - The version of the client implementation.
-   *
    * [clientId] - A client ID that uniquely identifies the client implementation
    * of the Safe
    * Browsing API.
    *
+   * [clientVersion] - The version of the client implementation.
+   *
    * Completes with a [FetchThreatListUpdatesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -119,7 +117,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<FetchThreatListUpdatesResponse> get(core.String encodedRequest, {core.String clientVersion, core.String clientId}) {
+  async.Future<FetchThreatListUpdatesResponse> get(core.String encodedRequest, {core.String clientId, core.String clientVersion}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -130,12 +128,12 @@
     if (encodedRequest == null) {
       throw new core.ArgumentError("Parameter encodedRequest is required.");
     }
-    if (clientVersion != null) {
-      _queryParams["clientVersion"] = [clientVersion];
-    }
     if (clientId != null) {
       _queryParams["clientId"] = [clientId];
     }
+    if (clientVersion != null) {
+      _queryParams["clientVersion"] = [clientVersion];
+    }
 
     _url = 'v4/encodedUpdates/' + commons.Escaper.ecapeVariable('$encodedRequest');
 
@@ -747,7 +745,21 @@
    * - "UNWANTED_SOFTWARE" : Unwanted software threat type.
    * - "POTENTIALLY_HARMFUL_APPLICATION" : Potentially harmful application
    * threat type.
+   * - "SOCIAL_ENGINEERING_INTERNAL" : Social engineering threat type for
+   * internal use.
+   * - "API_ABUSE" : API abuse threat type.
    * - "MALICIOUS_BINARY" : Malicious binary threat type.
+   * - "CSD_WHITELIST" : Client side detection whitelist threat type.
+   * - "CSD_DOWNLOAD_WHITELIST" : Client side download detection whitelist
+   * threat type.
+   * - "CLIENT_INCIDENT" : Client incident threat type.
+   * - "CLIENT_INCIDENT_WHITELIST" : Whitelist used when detecting client
+   * incident threats.
+   * This enum was never launched and should be re-used for the next list.
+   * - "APK_MALWARE_OFFLINE" : List used for offline APK checks in PAM.
+   * - "SUBRESOURCE_FILTER" : Patterns to be used for activating the subresource
+   * filter. Interstitial
+   * will not be shown for patterns from this list.
    */
   core.String threatType;
 
@@ -869,7 +881,21 @@
    * - "UNWANTED_SOFTWARE" : Unwanted software threat type.
    * - "POTENTIALLY_HARMFUL_APPLICATION" : Potentially harmful application
    * threat type.
+   * - "SOCIAL_ENGINEERING_INTERNAL" : Social engineering threat type for
+   * internal use.
+   * - "API_ABUSE" : API abuse threat type.
    * - "MALICIOUS_BINARY" : Malicious binary threat type.
+   * - "CSD_WHITELIST" : Client side detection whitelist threat type.
+   * - "CSD_DOWNLOAD_WHITELIST" : Client side download detection whitelist
+   * threat type.
+   * - "CLIENT_INCIDENT" : Client incident threat type.
+   * - "CLIENT_INCIDENT_WHITELIST" : Whitelist used when detecting client
+   * incident threats.
+   * This enum was never launched and should be re-used for the next list.
+   * - "APK_MALWARE_OFFLINE" : List used for offline APK checks in PAM.
+   * - "SUBRESOURCE_FILTER" : Patterns to be used for activating the subresource
+   * filter. Interstitial
+   * will not be shown for patterns from this list.
    */
   core.String threatType;
 
@@ -1367,7 +1393,21 @@
    * - "UNWANTED_SOFTWARE" : Unwanted software threat type.
    * - "POTENTIALLY_HARMFUL_APPLICATION" : Potentially harmful application
    * threat type.
+   * - "SOCIAL_ENGINEERING_INTERNAL" : Social engineering threat type for
+   * internal use.
+   * - "API_ABUSE" : API abuse threat type.
    * - "MALICIOUS_BINARY" : Malicious binary threat type.
+   * - "CSD_WHITELIST" : Client side detection whitelist threat type.
+   * - "CSD_DOWNLOAD_WHITELIST" : Client side download detection whitelist
+   * threat type.
+   * - "CLIENT_INCIDENT" : Client incident threat type.
+   * - "CLIENT_INCIDENT_WHITELIST" : Whitelist used when detecting client
+   * incident threats.
+   * This enum was never launched and should be re-used for the next list.
+   * - "APK_MALWARE_OFFLINE" : List used for offline APK checks in PAM.
+   * - "SUBRESOURCE_FILTER" : Patterns to be used for activating the subresource
+   * filter. Interstitial
+   * will not be shown for patterns from this list.
    */
   core.String threatType;
 
@@ -1446,7 +1486,21 @@
    * - "UNWANTED_SOFTWARE" : Unwanted software threat type.
    * - "POTENTIALLY_HARMFUL_APPLICATION" : Potentially harmful application
    * threat type.
+   * - "SOCIAL_ENGINEERING_INTERNAL" : Social engineering threat type for
+   * internal use.
+   * - "API_ABUSE" : API abuse threat type.
    * - "MALICIOUS_BINARY" : Malicious binary threat type.
+   * - "CSD_WHITELIST" : Client side detection whitelist threat type.
+   * - "CSD_DOWNLOAD_WHITELIST" : Client side download detection whitelist
+   * threat type.
+   * - "CLIENT_INCIDENT" : Client incident threat type.
+   * - "CLIENT_INCIDENT_WHITELIST" : Whitelist used when detecting client
+   * incident threats.
+   * This enum was never launched and should be re-used for the next list.
+   * - "APK_MALWARE_OFFLINE" : List used for offline APK checks in PAM.
+   * - "SUBRESOURCE_FILTER" : Patterns to be used for activating the subresource
+   * filter. Interstitial
+   * will not be shown for patterns from this list.
    */
   core.String threatType;
 
diff --git a/generated/googleapis/lib/script/v1.dart b/generated/googleapis/lib/script/v1.dart
index 3444e08..86e443b 100644
--- a/generated/googleapis/lib/script/v1.dart
+++ b/generated/googleapis/lib/script/v1.dart
@@ -14,7 +14,7 @@
 
 const core.String USER_AGENT = 'dart-api-client script/v1';
 
-/** Executes Google Apps Script projects. */
+/** Executes functions in Google Apps Script projects. */
 class ScriptApi {
   /** Read, send, delete, and manage your email */
   static const MailGoogleComScope = "https://mail.google.com/";
@@ -80,8 +80,8 @@
    *
    * Request parameters:
    *
-   * [scriptId] - The project key of the script to be executed. To find the
-   * project key, open
+   * [scriptId] - The script ID of the script to be executed. To find the script
+   * ID, open
    * the project in the script editor and select **File > Project properties**.
    *
    * Completes with a [Operation].
@@ -295,79 +295,6 @@
 }
 
 /**
- * A request to retrieve the results from a collection of requests,
- * specified by the operation resource names.
- */
-class JoinAsyncRequest {
-  /**
-   * List of operation resource names that we want to join,
-   * as returned from a call to RunAsync.
-   */
-  core.List<core.String> names;
-  /**
-   * The script id which specifies the script which all processes in the names
-   * field must be from.
-   */
-  core.String scriptId;
-  /** Timeout for information retrieval in milliseconds. */
-  core.String timeout;
-
-  JoinAsyncRequest();
-
-  JoinAsyncRequest.fromJson(core.Map _json) {
-    if (_json.containsKey("names")) {
-      names = _json["names"];
-    }
-    if (_json.containsKey("scriptId")) {
-      scriptId = _json["scriptId"];
-    }
-    if (_json.containsKey("timeout")) {
-      timeout = _json["timeout"];
-    }
-  }
-
-  core.Map<core.String, core.Object> toJson() {
-    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
-    if (names != null) {
-      _json["names"] = names;
-    }
-    if (scriptId != null) {
-      _json["scriptId"] = scriptId;
-    }
-    if (timeout != null) {
-      _json["timeout"] = timeout;
-    }
-    return _json;
-  }
-}
-
-/** An object that provides the return value for the JoinAsync method. */
-class JoinAsyncResponse {
-  /**
-   * The return values for each script function, in a map of operation resource
-   * names to the Operation containing the result of the process. The response
-   * will contain either an error or the result of the script function.
-   */
-  core.Map<core.String, Operation> results;
-
-  JoinAsyncResponse();
-
-  JoinAsyncResponse.fromJson(core.Map _json) {
-    if (_json.containsKey("results")) {
-      results = commons.mapMap<core.Map<core.String, core.Object>, Operation>(_json["results"], (core.Map<core.String, core.Object> item) => new Operation.fromJson(item));
-    }
-  }
-
-  core.Map<core.String, core.Object> toJson() {
-    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
-    if (results != null) {
-      _json["results"] = commons.mapMap<Operation, core.Map<core.String, core.Object>>(results, (Operation item) => (item).toJson());
-    }
-    return _json;
-  }
-}
-
-/**
  * The response will not arrive until the function finishes executing. The
  * maximum runtime is listed in the guide to [limitations in Apps
  * Script](https://developers.google.com/apps-script/guides/services/quotas#current_limitations).
@@ -385,7 +312,12 @@
  * class.</p>
  */
 class Operation {
-  /** This field is not used. */
+  /**
+   * This field is only used with asynchronous executions and indicates whether
+   * or not the script execution has completed. A completed execution has a
+   * populated response field containing the `ExecutionResponse` from function
+   * that was executed.
+   */
   core.bool done;
   /**
    * If a `run` call succeeds but the script function (or Apps Script itself)
@@ -402,7 +334,11 @@
    * `String`, `bool` and `null` as well as `Map` and `List` values.
    */
   core.Map<core.String, core.Object> metadata;
-  /** This field is not used. */
+  /**
+   * This field is only used with asynchronous executions and contains a unique
+   * identifier that can be used to subsequently invoke a `get` `cancel` or
+   * `join` on the asynchronous script execution identified by this name.
+   */
   core.String name;
   /**
    * If the script function returns successfully, this field will contain an
@@ -493,7 +429,7 @@
 class Status {
   /**
    * The status code. For this API, this value will always be 3, corresponding
-   * to an INVALID_ARGUMENT error.
+   * to an <code>INVALID_ARGUMENT</code> error.
    */
   core.int code;
   /**
diff --git a/generated/googleapis/lib/servicecontrol/v1.dart b/generated/googleapis/lib/servicecontrol/v1.dart
index 15fb800..c779ae5 100644
--- a/generated/googleapis/lib/servicecontrol/v1.dart
+++ b/generated/googleapis/lib/servicecontrol/v1.dart
@@ -703,7 +703,11 @@
    * It is not guaranteed that the principal was allowed to use this authority.
    */
   core.String authoritySelector;
-  /** The email address of the authenticated user making the request. */
+  /**
+   * The email address of the authenticated user making the request.
+   * For privacy reasons, the principal email address is redacted for all
+   * read-only operations that fail with a "permission denied" error.
+   */
   core.String principalEmail;
 
   AuthenticationInfo();
@@ -1982,7 +1986,11 @@
    * Map of quota group name to the actual number of tokens consumed. If the
    * quota check was not successful, then this will not be populated due to no
    * quota consumption.
-   * Deprecated: Use quota_metrics to get per quota group usage.
+   *
+   * We are not merging this field with 'quota_metrics' field because of the
+   * complexity of scaling in Chemist client code base. For simplicity, we will
+   * keep this field for Castor (that scales quota usage) and 'quota_metrics'
+   * for SuperQuota (that doesn't scale quota usage).
    */
   core.Map<core.String, core.int> quotaConsumed;
   /**
@@ -2056,10 +2064,9 @@
    */
   core.String methodName;
   /**
-   * Identity of the operation. This must be unique within the scope of the
-   * service that generated the operation. If the service calls AllocateQuota
-   * and ReleaseQuota on the same operation, the two calls should carry the
-   * same ID.
+   * Identity of the operation. This is expected to be unique within the scope
+   * of the service that generated the operation, and guarantees idempotency in
+   * case of retries.
    *
    * UUID version 4 is recommended, though not required. In scenarios where an
    * operation is computed from existing information and an idempotent id is
diff --git a/generated/googleapis/lib/servicemanagement/v1.dart b/generated/googleapis/lib/servicemanagement/v1.dart
index d5ac500..e4cc9a8 100644
--- a/generated/googleapis/lib/servicemanagement/v1.dart
+++ b/generated/googleapis/lib/servicemanagement/v1.dart
@@ -96,6 +96,10 @@
    *
    * Request parameters:
    *
+   * [pageSize] - The maximum number of operations to return. If unspecified,
+   * defaults to
+   * 50. The maximum value is 100.
+   *
    * [filter] - A string for filtering Operations.
    *   The following filter fields are supported&#58;
    *
@@ -122,10 +126,6 @@
    *
    * [name] - Not used.
    *
-   * [pageSize] - The maximum number of operations to return. If unspecified,
-   * defaults to
-   * 50. The maximum value is 100.
-   *
    * Completes with a [ListOperationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -134,7 +134,7 @@
    * If the used [http_1.Client] completes with an error when making a REST
    * call, this method will complete with the same error.
    */
-  async.Future<ListOperationsResponse> list({core.String filter, core.String pageToken, core.String name, core.int pageSize}) {
+  async.Future<ListOperationsResponse> list({core.int pageSize, core.String filter, core.String pageToken, core.String name}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -142,6 +142,9 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (pageSize != null) {
+      _queryParams["pageSize"] = ["${pageSize}"];
+    }
     if (filter != null) {
       _queryParams["filter"] = [filter];
     }
@@ -151,9 +154,6 @@
     if (name != null) {
       _queryParams["name"] = [name];
     }
-    if (pageSize != null) {
-      _queryParams["pageSize"] = ["${pageSize}"];
-    }
 
     _url = 'v1/operations';
 
@@ -578,6 +578,10 @@
    *
    * Request parameters:
    *
+   * [pageSize] - Requested size of the next page of data.
+   *
+   * [producerProjectId] - Include services produced by the specified project.
+   *
    * [consumerId] - Include services consumed by the specified consumer.
    *
    * The Google Service Management implementation accepts the following
@@ -588,10 +592,6 @@
    * previous list
    * call.
    *
-   * [pageSize] - Requested size of the next page of data.
-   *
-   * [producerProjectId] - Include services produced by the specified project.
-   *
    * Completes with a [ListServicesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -600,7 +600,7 @@
    * If the used [http_1.Client] completes with an error when making a REST
    * call, this method will complete with the same error.
    */
-  async.Future<ListServicesResponse> list({core.String consumerId, core.String pageToken, core.int pageSize, core.String producerProjectId}) {
+  async.Future<ListServicesResponse> list({core.int pageSize, core.String producerProjectId, core.String consumerId, core.String pageToken}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -608,18 +608,18 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (consumerId != null) {
-      _queryParams["consumerId"] = [consumerId];
-    }
-    if (pageToken != null) {
-      _queryParams["pageToken"] = [pageToken];
-    }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
     if (producerProjectId != null) {
       _queryParams["producerProjectId"] = [producerProjectId];
     }
+    if (consumerId != null) {
+      _queryParams["consumerId"] = [consumerId];
+    }
+    if (pageToken != null) {
+      _queryParams["pageToken"] = [pageToken];
+    }
 
     _url = 'v1/services';
 
@@ -1365,18 +1365,28 @@
   }
 }
 
-/** Api is a light-weight descriptor for a protocol buffer service. */
+/**
+ * Api is a light-weight descriptor for an API Interface.
+ *
+ * Interfaces are also described as "protocol buffer services" in some contexts,
+ * such as by the "service" keyword in a .proto file, but they are different
+ * from API Services, which represent a concrete implementation of an interface
+ * as opposed to simply a description of methods and bindings. They are also
+ * sometimes simply referred to as "APIs" in other contexts, such as the name of
+ * this message itself. See https://cloud.google.com/apis/design/glossary for
+ * detailed terminology.
+ */
 class Api {
-  /** The methods of this api, in unspecified order. */
+  /** The methods of this interface, in unspecified order. */
   core.List<Method> methods;
-  /** Included APIs. See Mixin. */
+  /** Included interfaces. See Mixin. */
   core.List<Mixin> mixins;
   /**
-   * The fully qualified name of this api, including package name
-   * followed by the api's simple name.
+   * The fully qualified name of this interface, including package name
+   * followed by the interface's simple name.
    */
   core.String name;
-  /** Any metadata attached to the API. */
+  /** Any metadata attached to the interface. */
   core.List<Option> options;
   /**
    * Source context for the protocol buffer service represented by this
@@ -1391,13 +1401,12 @@
    */
   core.String syntax;
   /**
-   * A version string for this api. If specified, must have the form
-   * `major-version.minor-version`, as in `1.10`. If the minor version
-   * is omitted, it defaults to zero. If the entire version field is
-   * empty, the major version is derived from the package name, as
-   * outlined below. If the field is not empty, the version in the
-   * package name will be verified to be consistent with what is
-   * provided here.
+   * A version string for this interface. If specified, must have the form
+   * `major-version.minor-version`, as in `1.10`. If the minor version is
+   * omitted, it defaults to zero. If the entire version field is empty, the
+   * major version is derived from the package name, as outlined below. If the
+   * field is not empty, the version in the package name will be verified to be
+   * consistent with what is provided here.
    *
    * The versioning schema uses [semantic
    * versioning](http://semver.org) where the major version number
@@ -1407,10 +1416,10 @@
    * chosen based on the product plan.
    *
    * The major version is also reflected in the package name of the
-   * API, which must end in `v<major-version>`, as in
+   * interface, which must end in `v<major-version>`, as in
    * `google.feature.v1`. For major versions 0 and 1, the suffix can
    * be omitted. Zero major versions must only be used for
-   * experimental, none-GA apis.
+   * experimental, non-GA interfaces.
    */
   core.String version;
 
@@ -1647,6 +1656,11 @@
    */
   core.String audiences;
   /**
+   * Redirect URL if JWT token is required but no present or is expired.
+   * Implement authorizationUrl of securityDefinitions in OpenAPI spec.
+   */
+  core.String authorizationUrl;
+  /**
    * The unique identifier of the auth provider. It will be referred to by
    * `AuthRequirement.provider_id`.
    *
@@ -1684,6 +1698,9 @@
     if (_json.containsKey("audiences")) {
       audiences = _json["audiences"];
     }
+    if (_json.containsKey("authorizationUrl")) {
+      authorizationUrl = _json["authorizationUrl"];
+    }
     if (_json.containsKey("id")) {
       id = _json["id"];
     }
@@ -1700,6 +1717,9 @@
     if (audiences != null) {
       _json["audiences"] = audiences;
     }
+    if (authorizationUrl != null) {
+      _json["authorizationUrl"] = authorizationUrl;
+    }
     if (id != null) {
       _json["id"] = id;
     }
@@ -2119,8 +2139,6 @@
 
 /** Write a Cloud Audit log */
 class CloudAuditOptions {
-  /** True if the log is for a permission of type DATA_READ or ADMIN_READ. */
-  core.bool isReadPermissionType;
   /**
    * The log_name to populate in the Cloud Audit Record.
    * Possible string values are:
@@ -2133,9 +2151,6 @@
   CloudAuditOptions();
 
   CloudAuditOptions.fromJson(core.Map _json) {
-    if (_json.containsKey("isReadPermissionType")) {
-      isReadPermissionType = _json["isReadPermissionType"];
-    }
     if (_json.containsKey("logName")) {
       logName = _json["logName"];
     }
@@ -2143,9 +2158,6 @@
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
-    if (isReadPermissionType != null) {
-      _json["isReadPermissionType"] = isReadPermissionType;
-    }
     if (logName != null) {
       _json["logName"] = logName;
     }
@@ -2598,7 +2610,30 @@
   }
 }
 
-/** Options for counters */
+/**
+ * Increment a streamz counter with the specified metric and field names.
+ *
+ * Metric names should start with a '/', generally be lowercase-only,
+ * and end in "_count". Field names should not contain an initial slash.
+ * The actual exported metric names will have "/iam/policy" prepended.
+ *
+ * Field names correspond to IAM request parameters and field values are
+ * their respective values.
+ *
+ * At present the only supported field names are
+ *    - "iam_principal", corresponding to IAMContext.principal;
+ *    - "" (empty string), resulting in one aggretated counter with no field.
+ *
+ * Examples:
+ *   counter { metric: "/debug_access_count"  field: "iam_principal" }
+ *   ==> increment counter /iam/policy/backend_debug_access_count
+ *                         {iam_principal=[value of IAMContext.principal]}
+ *
+ * At this time we do not support:
+ * * multiple field names (though this may be supported in the future)
+ * * decrementing the counter
+ * * incrementing it by anything other than 1
+ */
 class CounterOptions {
   /** The field value to attribute. */
   core.String field;
@@ -2770,14 +2805,41 @@
 
 /** Write a Data Access (Gin) log */
 class DataAccessOptions {
+  /**
+   * Whether Gin logging should happen in a fail-closed manner at the caller.
+   * This is relevant only in the LocalIAM implementation, for now.
+   * Possible string values are:
+   * - "LOG_MODE_UNSPECIFIED" : Client is not required to write a partial Gin
+   * log immediately after
+   * the authorization check. If client chooses to write one and it fails,
+   * client may either fail open (allow the operation to continue) or
+   * fail closed (handle as a DENY outcome).
+   * - "LOG_FAIL_CLOSED" : The application's operation in the context of which
+   * this authorization
+   * check is being made may only be performed if it is successfully logged
+   * to Gin. For instance, the authorization library may satisfy this
+   * obligation by emitting a partial log entry at authorization check time
+   * and only returning ALLOW to the application if it succeeds.
+   *
+   * If a matching Rule has this directive, but the client has not indicated
+   * that it will honor such requirements, then the IAM check will result in
+   * authorization failure by setting CheckPolicyResponse.success=false.
+   */
+  core.String logMode;
 
   DataAccessOptions();
 
   DataAccessOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("logMode")) {
+      logMode = _json["logMode"];
+    }
   }
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (logMode != null) {
+      _json["logMode"] = logMode;
+    }
     return _json;
   }
 }
@@ -4029,43 +4091,6 @@
    */
   core.String responseBody;
   /**
-   * Optional. The REST collection name is by default derived from the URL
-   * pattern. If specified, this field overrides the default collection name.
-   * Example:
-   *
-   *     rpc AddressesAggregatedList(AddressesAggregatedListRequest)
-   *         returns (AddressesAggregatedListResponse) {
-   *       option (google.api.http) = {
-   *         get: "/v1/projects/{project_id}/aggregated/addresses"
-   *         rest_collection: "projects.addresses"
-   *       };
-   *     }
-   *
-   * This method has the automatically derived collection name
-   * "projects.aggregated". Because, semantically, this rpc is actually an
-   * operation on the "projects.addresses" collection, the `rest_collection`
-   * field is configured to override the derived collection name.
-   */
-  core.String restCollection;
-  /**
-   * Optional. The rest method name is by default derived from the URL
-   * pattern. If specified, this field overrides the default method name.
-   * Example:
-   *
-   *     rpc CreateResource(CreateResourceRequest)
-   *         returns (CreateResourceResponse) {
-   *       option (google.api.http) = {
-   *         post: "/v1/resources",
-   *         body: "resource",
-   *         rest_method_name: "insert"
-   *       };
-   *     }
-   *
-   * This method has the automatically derived rest method name "create", but
-   *  for backwards compatability with apiary, it is specified as insert.
-   */
-  core.String restMethodName;
-  /**
    * Selects methods to which this rule applies.
    *
    * Refer to selector for syntax details.
@@ -4108,12 +4133,6 @@
     if (_json.containsKey("responseBody")) {
       responseBody = _json["responseBody"];
     }
-    if (_json.containsKey("restCollection")) {
-      restCollection = _json["restCollection"];
-    }
-    if (_json.containsKey("restMethodName")) {
-      restMethodName = _json["restMethodName"];
-    }
     if (_json.containsKey("selector")) {
       selector = _json["selector"];
     }
@@ -4154,12 +4173,6 @@
     if (responseBody != null) {
       _json["responseBody"] = responseBody;
     }
-    if (restCollection != null) {
-      _json["restCollection"] = restCollection;
-    }
-    if (restMethodName != null) {
-      _json["restMethodName"] = restMethodName;
-    }
     if (selector != null) {
       _json["selector"] = selector;
     }
@@ -4333,31 +4346,7 @@
   }
 }
 
-/**
- * Specifies what kind of log the caller must write
- * Increment a streamz counter with the specified metric and field names.
- *
- * Metric names should start with a '/', generally be lowercase-only,
- * and end in "_count". Field names should not contain an initial slash.
- * The actual exported metric names will have "/iam/policy" prepended.
- *
- * Field names correspond to IAM request parameters and field values are
- * their respective values.
- *
- * At present the only supported field names are
- *    - "iam_principal", corresponding to IAMContext.principal;
- *    - "" (empty string), resulting in one aggretated counter with no field.
- *
- * Examples:
- *   counter { metric: "/debug_access_count"  field: "iam_principal" }
- *   ==> increment counter /iam/policy/backend_debug_access_count
- *                         {iam_principal=[value of IAMContext.principal]}
- *
- * At this time we do not support:
- * * multiple field names (though this may be supported in the future)
- * * decrementing the counter
- * * incrementing it by anything other than 1
- */
+/** Specifies what kind of log the caller must write */
 class LogConfig {
   /** Cloud audit options. */
   CloudAuditOptions cloudAudit;
@@ -4791,7 +4780,7 @@
   }
 }
 
-/** Method represents a method of an api. */
+/** Method represents a method of an API interface. */
 class Method {
   /** The simple name of this method. */
   core.String name;
@@ -5112,9 +5101,9 @@
 }
 
 /**
- * Declares an API to be included in this API. The including API must
- * redeclare all the methods from the included API, but documentation
- * and options are inherited as follows:
+ * Declares an API Interface to be included in this interface. The including
+ * interface must redeclare all the methods from the included interface, but
+ * documentation and options are inherited as follows:
  *
  * - If after comment and whitespace stripping, the documentation
  *   string of the redeclared method is empty, it will be inherited
@@ -5126,7 +5115,8 @@
  *
  * - If an http annotation is inherited, the path pattern will be
  *   modified as follows. Any version prefix will be replaced by the
- *   version of the including API plus the root path if specified.
+ *   version of the including interface plus the root path if
+ *   specified.
  *
  * Example of a simple mixin:
  *
@@ -5191,7 +5181,7 @@
  *     }
  */
 class Mixin {
-  /** The fully qualified name of the API which is included. */
+  /** The fully qualified name of the interface which is included. */
   core.String name;
   /**
    * If non-empty specifies a path under which inherited HTTP paths
@@ -6353,10 +6343,10 @@
   /** API backend configuration. */
   Backend backend;
   /**
-   * The version of the service configuration. The config version may
-   * influence interpretation of the configuration, for example, to
-   * determine defaults. This is documented together with applicable
-   * options. The current default for the config version itself is `3`.
+   * The semantic version of the service configuration. The config version
+   * affects the interpretation of the service configuration. For example,
+   * certain features are enabled by default for certain config versions.
+   * The latest config version is `3`.
    */
   core.int configVersion;
   /** Context configuration. */
diff --git a/generated/googleapis/lib/serviceuser/v1.dart b/generated/googleapis/lib/serviceuser/v1.dart
index 24a1071..fc53b5c 100644
--- a/generated/googleapis/lib/serviceuser/v1.dart
+++ b/generated/googleapis/lib/serviceuser/v1.dart
@@ -281,18 +281,28 @@
 
 
 
-/** Api is a light-weight descriptor for a protocol buffer service. */
+/**
+ * Api is a light-weight descriptor for an API Interface.
+ *
+ * Interfaces are also described as "protocol buffer services" in some contexts,
+ * such as by the "service" keyword in a .proto file, but they are different
+ * from API Services, which represent a concrete implementation of an interface
+ * as opposed to simply a description of methods and bindings. They are also
+ * sometimes simply referred to as "APIs" in other contexts, such as the name of
+ * this message itself. See https://cloud.google.com/apis/design/glossary for
+ * detailed terminology.
+ */
 class Api {
-  /** The methods of this api, in unspecified order. */
+  /** The methods of this interface, in unspecified order. */
   core.List<Method> methods;
-  /** Included APIs. See Mixin. */
+  /** Included interfaces. See Mixin. */
   core.List<Mixin> mixins;
   /**
-   * The fully qualified name of this api, including package name
-   * followed by the api's simple name.
+   * The fully qualified name of this interface, including package name
+   * followed by the interface's simple name.
    */
   core.String name;
-  /** Any metadata attached to the API. */
+  /** Any metadata attached to the interface. */
   core.List<Option> options;
   /**
    * Source context for the protocol buffer service represented by this
@@ -307,13 +317,12 @@
    */
   core.String syntax;
   /**
-   * A version string for this api. If specified, must have the form
-   * `major-version.minor-version`, as in `1.10`. If the minor version
-   * is omitted, it defaults to zero. If the entire version field is
-   * empty, the major version is derived from the package name, as
-   * outlined below. If the field is not empty, the version in the
-   * package name will be verified to be consistent with what is
-   * provided here.
+   * A version string for this interface. If specified, must have the form
+   * `major-version.minor-version`, as in `1.10`. If the minor version is
+   * omitted, it defaults to zero. If the entire version field is empty, the
+   * major version is derived from the package name, as outlined below. If the
+   * field is not empty, the version in the package name will be verified to be
+   * consistent with what is provided here.
    *
    * The versioning schema uses [semantic
    * versioning](http://semver.org) where the major version number
@@ -323,10 +332,10 @@
    * chosen based on the product plan.
    *
    * The major version is also reflected in the package name of the
-   * API, which must end in `v<major-version>`, as in
+   * interface, which must end in `v<major-version>`, as in
    * `google.feature.v1`. For major versions 0 and 1, the suffix can
    * be omitted. Zero major versions must only be used for
-   * experimental, none-GA apis.
+   * experimental, non-GA interfaces.
    */
   core.String version;
 
@@ -406,6 +415,11 @@
    */
   core.String audiences;
   /**
+   * Redirect URL if JWT token is required but no present or is expired.
+   * Implement authorizationUrl of securityDefinitions in OpenAPI spec.
+   */
+  core.String authorizationUrl;
+  /**
    * The unique identifier of the auth provider. It will be referred to by
    * `AuthRequirement.provider_id`.
    *
@@ -443,6 +457,9 @@
     if (_json.containsKey("audiences")) {
       audiences = _json["audiences"];
     }
+    if (_json.containsKey("authorizationUrl")) {
+      authorizationUrl = _json["authorizationUrl"];
+    }
     if (_json.containsKey("id")) {
       id = _json["id"];
     }
@@ -459,6 +476,9 @@
     if (audiences != null) {
       _json["audiences"] = audiences;
     }
+    if (authorizationUrl != null) {
+      _json["authorizationUrl"] = authorizationUrl;
+    }
     if (id != null) {
       _json["id"] = id;
     }
@@ -690,6 +710,66 @@
   }
 }
 
+/**
+ * Authorization rule for API services.
+ *
+ * It specifies the permission(s) required for an API element for the overall
+ * API request to succeed. It is typically used to mark request message fields
+ * that contain the name of the resource and indicates the permissions that
+ * will be checked on that resource.
+ *
+ * For example:
+ *
+ *     package google.storage.v1;
+ *
+ *     message CopyObjectRequest {
+ *       string source = 1 [
+ *         (google.api.authz).permissions = "storage.objects.get"];
+ *
+ *       string destination = 2 [
+ *         (google.api.authz).permissions =
+ *             "storage.objects.create,storage.objects.update"];
+ *     }
+ */
+class AuthorizationRule {
+  /**
+   * The required permissions. The acceptable values vary depend on the
+   * authorization system used. For Google APIs, it should be a comma-separated
+   * Google IAM permission values. When multiple permissions are listed, the
+   * semantics is not defined by the system. Additional documentation must
+   * be provided manually.
+   */
+  core.String permissions;
+  /**
+   * Selects the API elements to which this rule applies.
+   *
+   * Refer to selector for syntax details.
+   */
+  core.String selector;
+
+  AuthorizationRule();
+
+  AuthorizationRule.fromJson(core.Map _json) {
+    if (_json.containsKey("permissions")) {
+      permissions = _json["permissions"];
+    }
+    if (_json.containsKey("selector")) {
+      selector = _json["selector"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (permissions != null) {
+      _json["permissions"] = permissions;
+    }
+    if (selector != null) {
+      _json["selector"] = selector;
+    }
+    return _json;
+  }
+}
+
 /** `Backend` defines the backend configuration for a service. */
 class Backend {
   /**
@@ -1874,6 +1954,13 @@
    */
   core.List<HttpRule> additionalBindings;
   /**
+   * Specifies the permission(s) required for an API element for the overall
+   * API request to succeed. It is typically used to mark request message fields
+   * that contain the name of the resource and indicates the permissions that
+   * will be checked on that resource.
+   */
+  core.List<AuthorizationRule> authorizations;
+  /**
    * The name of the request field whose value is mapped to the HTTP body, or
    * `*` for mapping all fields not captured by the path pattern to the HTTP
    * body. NOTE: the referred field must not be a repeated field and must be
@@ -1919,6 +2006,8 @@
    */
   core.String responseBody;
   /**
+   * DO NOT USE. This is an experimental field.
+   *
    * Optional. The REST collection name is by default derived from the URL
    * pattern. If specified, this field overrides the default collection name.
    * Example:
@@ -1938,6 +2027,8 @@
    */
   core.String restCollection;
   /**
+   * DO NOT USE. This is an experimental field.
+   *
    * Optional. The rest method name is by default derived from the URL
    * pattern. If specified, this field overrides the default method name.
    * Example:
@@ -1951,8 +2042,9 @@
    *       };
    *     }
    *
-   * This method has the automatically derived rest method name "create", but
-   *  for backwards compatability with apiary, it is specified as insert.
+   * This method has the automatically derived rest method name
+   * "create", but for backwards compatibility with apiary, it is specified as
+   * insert.
    */
   core.String restMethodName;
   /**
@@ -1968,6 +2060,9 @@
     if (_json.containsKey("additionalBindings")) {
       additionalBindings = _json["additionalBindings"].map((value) => new HttpRule.fromJson(value)).toList();
     }
+    if (_json.containsKey("authorizations")) {
+      authorizations = _json["authorizations"].map((value) => new AuthorizationRule.fromJson(value)).toList();
+    }
     if (_json.containsKey("body")) {
       body = _json["body"];
     }
@@ -2014,6 +2109,9 @@
     if (additionalBindings != null) {
       _json["additionalBindings"] = additionalBindings.map((value) => (value).toJson()).toList();
     }
+    if (authorizations != null) {
+      _json["authorizations"] = authorizations.map((value) => (value).toJson()).toList();
+    }
     if (body != null) {
       _json["body"] = body;
     }
@@ -2494,7 +2592,7 @@
   }
 }
 
-/** Method represents a method of an api. */
+/** Method represents a method of an API interface. */
 class Method {
   /** The simple name of this method. */
   core.String name;
@@ -2815,9 +2913,9 @@
 }
 
 /**
- * Declares an API to be included in this API. The including API must
- * redeclare all the methods from the included API, but documentation
- * and options are inherited as follows:
+ * Declares an API Interface to be included in this interface. The including
+ * interface must redeclare all the methods from the included interface, but
+ * documentation and options are inherited as follows:
  *
  * - If after comment and whitespace stripping, the documentation
  *   string of the redeclared method is empty, it will be inherited
@@ -2829,7 +2927,8 @@
  *
  * - If an http annotation is inherited, the path pattern will be
  *   modified as follows. Any version prefix will be replaced by the
- *   version of the including API plus the root path if specified.
+ *   version of the including interface plus the root path if
+ *   specified.
  *
  * Example of a simple mixin:
  *
@@ -2894,7 +2993,7 @@
  *     }
  */
 class Mixin {
-  /** The fully qualified name of the API which is included. */
+  /** The fully qualified name of the interface which is included. */
   core.String name;
   /**
    * If non-empty specifies a path under which inherited HTTP paths
@@ -3799,10 +3898,10 @@
   /** API backend configuration. */
   Backend backend;
   /**
-   * The version of the service configuration. The config version may
-   * influence interpretation of the configuration, for example, to
-   * determine defaults. This is documented together with applicable
-   * options. The current default for the config version itself is `3`.
+   * The semantic version of the service configuration. The config version
+   * affects the interpretation of the service configuration. For example,
+   * certain features are enabled by default for certain config versions.
+   * The latest config version is `3`.
    */
   core.int configVersion;
   /** Context configuration. */
diff --git a/generated/googleapis/lib/sheets/v4.dart b/generated/googleapis/lib/sheets/v4.dart
index aba9b49..d3aca56 100644
--- a/generated/googleapis/lib/sheets/v4.dart
+++ b/generated/googleapis/lib/sheets/v4.dart
@@ -317,6 +317,11 @@
    * [range] - The A1 notation of a range to search for a logical table of data.
    * Values will be appended after the last row of the table.
    *
+   * [includeValuesInResponse] - Determines if the update response should
+   * include the values
+   * of the cells that were appended. By default, responses
+   * do not include the updated values.
+   *
    * [responseValueRenderOption] - Determines how values in the response should
    * be rendered.
    * The default render option is ValueRenderOption.FORMATTED_VALUE.
@@ -345,11 +350,6 @@
    * - "SERIAL_NUMBER" : A SERIAL_NUMBER.
    * - "FORMATTED_STRING" : A FORMATTED_STRING.
    *
-   * [includeValuesInResponse] - Determines if the update response should
-   * include the values
-   * of the cells that were appended. By default, responses
-   * do not include the updated values.
-   *
    * Completes with a [AppendValuesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -358,7 +358,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<AppendValuesResponse> append(ValueRange request, core.String spreadsheetId, core.String range, {core.String responseValueRenderOption, core.String insertDataOption, core.String valueInputOption, core.String responseDateTimeRenderOption, core.bool includeValuesInResponse}) {
+  async.Future<AppendValuesResponse> append(ValueRange request, core.String spreadsheetId, core.String range, {core.bool includeValuesInResponse, core.String responseValueRenderOption, core.String insertDataOption, core.String valueInputOption, core.String responseDateTimeRenderOption}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -375,6 +375,9 @@
     if (range == null) {
       throw new core.ArgumentError("Parameter range is required.");
     }
+    if (includeValuesInResponse != null) {
+      _queryParams["includeValuesInResponse"] = ["${includeValuesInResponse}"];
+    }
     if (responseValueRenderOption != null) {
       _queryParams["responseValueRenderOption"] = [responseValueRenderOption];
     }
@@ -387,9 +390,6 @@
     if (responseDateTimeRenderOption != null) {
       _queryParams["responseDateTimeRenderOption"] = [responseDateTimeRenderOption];
     }
-    if (includeValuesInResponse != null) {
-      _queryParams["includeValuesInResponse"] = ["${includeValuesInResponse}"];
-    }
 
     _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values/' + commons.Escaper.ecapeVariable('$range') + ':append';
 
@@ -458,6 +458,20 @@
    *
    * [spreadsheetId] - The ID of the spreadsheet to retrieve data from.
    *
+   * [majorDimension] - The major dimension that results should use.
+   *
+   * For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
+   * then requesting `range=A1:B2,majorDimension=ROWS` will return
+   * `[[1,2],[3,4]]`,
+   * whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
+   * `[[1,3],[2,4]]`.
+   * Possible string values are:
+   * - "DIMENSION_UNSPECIFIED" : A DIMENSION_UNSPECIFIED.
+   * - "ROWS" : A ROWS.
+   * - "COLUMNS" : A COLUMNS.
+   *
+   * [ranges] - The A1 notation of the values to retrieve.
+   *
    * [dateTimeRenderOption] - How dates, times, and durations should be
    * represented in the output.
    * This is ignored if value_render_option is
@@ -474,20 +488,6 @@
    * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
    * - "FORMULA" : A FORMULA.
    *
-   * [majorDimension] - The major dimension that results should use.
-   *
-   * For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
-   * then requesting `range=A1:B2,majorDimension=ROWS` will return
-   * `[[1,2],[3,4]]`,
-   * whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
-   * `[[1,3],[2,4]]`.
-   * Possible string values are:
-   * - "DIMENSION_UNSPECIFIED" : A DIMENSION_UNSPECIFIED.
-   * - "ROWS" : A ROWS.
-   * - "COLUMNS" : A COLUMNS.
-   *
-   * [ranges] - The A1 notation of the values to retrieve.
-   *
    * Completes with a [BatchGetValuesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -496,7 +496,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<BatchGetValuesResponse> batchGet(core.String spreadsheetId, {core.String dateTimeRenderOption, core.String valueRenderOption, core.String majorDimension, core.List<core.String> ranges}) {
+  async.Future<BatchGetValuesResponse> batchGet(core.String spreadsheetId, {core.String majorDimension, core.List<core.String> ranges, core.String dateTimeRenderOption, core.String valueRenderOption}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -507,18 +507,18 @@
     if (spreadsheetId == null) {
       throw new core.ArgumentError("Parameter spreadsheetId is required.");
     }
-    if (dateTimeRenderOption != null) {
-      _queryParams["dateTimeRenderOption"] = [dateTimeRenderOption];
-    }
-    if (valueRenderOption != null) {
-      _queryParams["valueRenderOption"] = [valueRenderOption];
-    }
     if (majorDimension != null) {
       _queryParams["majorDimension"] = [majorDimension];
     }
     if (ranges != null) {
       _queryParams["ranges"] = ranges;
     }
+    if (dateTimeRenderOption != null) {
+      _queryParams["dateTimeRenderOption"] = [dateTimeRenderOption];
+    }
+    if (valueRenderOption != null) {
+      _queryParams["valueRenderOption"] = [valueRenderOption];
+    }
 
     _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values:batchGet';
 
diff --git a/generated/googleapis/lib/slides/v1.dart b/generated/googleapis/lib/slides/v1.dart
index e4bd9e3..e78d873 100644
--- a/generated/googleapis/lib/slides/v1.dart
+++ b/generated/googleapis/lib/slides/v1.dart
@@ -825,7 +825,7 @@
    * and `DISC` bullet glyph for
    * the first 3 list nesting levels.
    * - "BULLET_STAR_CIRCLE_SQUARE" : A bulleted list with a `STAR`, `CIRCLE` and
-   * `DISC` bullet glyph for
+   * `SQUARE` bullet glyph for
    * the first 3 list nesting levels.
    * - "BULLET_ARROW3D_CIRCLE_SQUARE" : A bulleted list with a `ARROW3D`,
    * `CIRCLE` and `SQUARE` bullet glyph for
diff --git a/generated/googleapis/lib/spanner/v1.dart b/generated/googleapis/lib/spanner/v1.dart
index 340b45a..1040f3f 100644
--- a/generated/googleapis/lib/spanner/v1.dart
+++ b/generated/googleapis/lib/spanner/v1.dart
@@ -402,6 +402,14 @@
    * requested. Values are of the form `projects/<project>`.
    * Value must have pattern "^projects/[^/]+$".
    *
+   * [pageToken] - If non-empty, `page_token` should contain a
+   * next_page_token from a
+   * previous ListInstancesResponse.
+   *
+   * [pageSize] - Number of instances to be returned in the response. If 0 or
+   * less, defaults
+   * to the server's maximum allowed page size.
+   *
    * [filter] - An expression for filtering the results of the request. Filter
    * rules are
    * case insensitive. The fields eligible for filtering are:
@@ -423,14 +431,6 @@
    *                                  it has the label "env" with its value
    *                                  containing "dev".
    *
-   * [pageToken] - If non-empty, `page_token` should contain a
-   * next_page_token from a
-   * previous ListInstancesResponse.
-   *
-   * [pageSize] - Number of instances to be returned in the response. If 0 or
-   * less, defaults
-   * to the server's maximum allowed page size.
-   *
    * Completes with a [ListInstancesResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -439,7 +439,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListInstancesResponse> list(core.String parent, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListInstancesResponse> list(core.String parent, {core.String pageToken, core.int pageSize, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -450,15 +450,15 @@
     if (parent == null) {
       throw new core.ArgumentError("Parameter parent is required.");
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/instances';
 
@@ -2224,6 +2224,36 @@
   }
 }
 
+/** Authorization-related information used by Cloud Audit Logging. */
+class AuthorizationLoggingOptions {
+  /**
+   * The type of the permission that was checked.
+   * Possible string values are:
+   * - "PERMISSION_TYPE_UNSPECIFIED" : Default. Should not be used.
+   * - "ADMIN_READ" : A read of admin (meta) data.
+   * - "ADMIN_WRITE" : A write of admin (meta) data.
+   * - "DATA_READ" : A read of standard data.
+   * - "DATA_WRITE" : A write of standard data.
+   */
+  core.String permissionType;
+
+  AuthorizationLoggingOptions();
+
+  AuthorizationLoggingOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("permissionType")) {
+      permissionType = _json["permissionType"];
+    }
+  }
+
+  core.Map<core.String, core.Object> toJson() {
+    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (permissionType != null) {
+      _json["permissionType"] = permissionType;
+    }
+    return _json;
+  }
+}
+
 /** The request for BeginTransaction. */
 class BeginTransactionRequest {
   /** Required. Options for the new transaction. */
@@ -2374,6 +2404,8 @@
 
 /** Write a Cloud Audit log */
 class CloudAuditOptions {
+  /** Information used by the Cloud Audit Logging pipeline. */
+  AuthorizationLoggingOptions authorizationLoggingOptions;
   /**
    * The log_name to populate in the Cloud Audit Record.
    * Possible string values are:
@@ -2386,6 +2418,9 @@
   CloudAuditOptions();
 
   CloudAuditOptions.fromJson(core.Map _json) {
+    if (_json.containsKey("authorizationLoggingOptions")) {
+      authorizationLoggingOptions = new AuthorizationLoggingOptions.fromJson(_json["authorizationLoggingOptions"]);
+    }
     if (_json.containsKey("logName")) {
       logName = _json["logName"];
     }
@@ -2393,6 +2428,9 @@
 
   core.Map<core.String, core.Object> toJson() {
     final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+    if (authorizationLoggingOptions != null) {
+      _json["authorizationLoggingOptions"] = (authorizationLoggingOptions).toJson();
+    }
     if (logName != null) {
       _json["logName"] = logName;
     }
@@ -3036,7 +3074,7 @@
   core.String description;
   /**
    * Textual representation of an expression in
-   * [Common Expression Language](http://go/api-expr) syntax.
+   * Common Expression Language syntax.
    *
    * The application context of the containing message determines which
    * well-known feature set of CEL is supported.
@@ -3216,6 +3254,21 @@
   /**
    * Required. The number of nodes allocated to this instance. This may be zero
    * in API responses for instances that are not yet in state `READY`.
+   *
+   * Each Spanner node can provide up to 10,000 QPS of reads or 2000 QPS of
+   * writes (writing single rows at 1KB data per row), and 2 TiB storage.
+   *
+   * For optimal performance, we recommend provisioning enough nodes to keep
+   * overall CPU utilization under 75%.
+   *
+   * A minimum of 3 nodes is recommended for production environments.  This
+   * minimum is required for SLAs to apply to your instance.
+   *
+   * Note that Cloud Spanner performance is highly dependent on workload, schema
+   * design, and dataset characteristics. The performance numbers above are
+   * estimates, and assume [best
+   * practices](https://cloud.google.com/spanner/docs/bulk-loading)
+   * are followed.
    */
   core.int nodeCount;
   /**
@@ -3668,7 +3721,31 @@
   }
 }
 
-/** Specifies what kind of log the caller must write */
+/**
+ * Specifies what kind of log the caller must write
+ * Increment a streamz counter with the specified metric and field names.
+ *
+ * Metric names should start with a '/', generally be lowercase-only,
+ * and end in "_count". Field names should not contain an initial slash.
+ * The actual exported metric names will have "/iam/policy" prepended.
+ *
+ * Field names correspond to IAM request parameters and field values are
+ * their respective values.
+ *
+ * At present the only supported field names are
+ *    - "iam_principal", corresponding to IAMContext.principal;
+ *    - "" (empty string), resulting in one aggretated counter with no field.
+ *
+ * Examples:
+ *   counter { metric: "/debug_access_count"  field: "iam_principal" }
+ *   ==> increment counter /iam/policy/backend_debug_access_count
+ *                         {iam_principal=[value of IAMContext.principal]}
+ *
+ * At this time we do not support:
+ * * multiple field names (though this may be supported in the future)
+ * * decrementing the counter
+ * * incrementing it by anything other than 1
+ */
 class LogConfig {
   /** Cloud audit options. */
   CloudAuditOptions cloudAudit;
@@ -4953,8 +5030,8 @@
   /** The status code, which should be an enum value of google.rpc.Code. */
   core.int code;
   /**
-   * A list of messages that carry the error details.  There will be a
-   * common set of message types for APIs to use.
+   * A list of messages that carry the error details.  There is a common set of
+   * message types for APIs to use.
    *
    * The values for Object must be JSON objects. It can consist of `num`,
    * `String`, `bool` and `null` as well as `Map` and `List` values.
diff --git a/generated/googleapis/lib/speech/v1.dart b/generated/googleapis/lib/speech/v1.dart
index 11ecaac..5b0c2b8 100644
--- a/generated/googleapis/lib/speech/v1.dart
+++ b/generated/googleapis/lib/speech/v1.dart
@@ -581,9 +581,10 @@
  */
 class RecognitionConfig {
   /**
-   * *Optional* If `true`, a list of `words` are returned in the top result,
-   * containing the start and end timestamps for those words. The default value,
-   * 'false' does not return any word-level timing information.
+   * *Optional* If `true`, the top result includes a list of words and
+   * the start and end time offsets (timestamps) for those words. If
+   * `false`, no word-level time offset information is returned. The default is
+   * `false`.
    */
   core.bool enableWordTimeOffsets;
   /**
@@ -825,7 +826,7 @@
    */
   core.String transcript;
   /**
-   * *Output-only* List of word-specific information for each recognized word.
+   * *Output-only* A list of word-specific information for each recognized word.
    */
   core.List<WordInfo> words;
 
@@ -863,7 +864,7 @@
   /**
    * *Output-only* May contain one or more recognition hypotheses (up to the
    * maximum specified in `max_alternatives`).
-   * These alternatives are ordered in terms of accuracy, with the first/top
+   * These alternatives are ordered in terms of accuracy, with the top (first)
    * alternative being the most probable, as ranked by the recognizer.
    */
   core.List<SpeechRecognitionAlternative> alternatives;
@@ -989,8 +990,9 @@
 }
 
 /**
- * Word-specific information detected along with speech recognition when certain
- * request parameters are set.
+ * Word-specific information for recognized words. Word information is only
+ * included in the response when certain request parameters are set, such
+ * as `enable_word_time_offsets`.
  */
 class WordInfo {
   /**
diff --git a/generated/googleapis/lib/storage/v1.dart b/generated/googleapis/lib/storage/v1.dart
index 5e5bcd2..005d959 100644
--- a/generated/googleapis/lib/storage/v1.dart
+++ b/generated/googleapis/lib/storage/v1.dart
@@ -1566,7 +1566,7 @@
    *
    * Request parameters:
    *
-   * [bucket] - Name of a GCS bucket.
+   * [bucket] - Name of a Google Cloud Storage bucket.
    *
    * [userProject] - The project to be billed for this request, for Requester
    * Pays buckets.
@@ -2040,7 +2040,8 @@
    * access.
    *
    * [ifGenerationMatch] - Makes the operation conditional on whether the
-   * object's current generation matches the given value.
+   * object's current generation matches the given value. Setting to 0 makes the
+   * operation succeed only if there are no live versions of the object.
    *
    * [ifMetagenerationMatch] - Makes the operation conditional on whether the
    * object's current metageneration matches the given value.
@@ -2159,10 +2160,14 @@
    * access.
    *
    * [ifGenerationMatch] - Makes the operation conditional on whether the
-   * destination object's current generation matches the given value.
+   * destination object's current generation matches the given value. Setting to
+   * 0 makes the operation succeed only if there are no live versions of the
+   * object.
    *
    * [ifGenerationNotMatch] - Makes the operation conditional on whether the
-   * destination object's current generation does not match the given value.
+   * destination object's current generation does not match the given value. If
+   * no live object exists, the precondition fails. Setting to 0 makes the
+   * operation succeed only if there is a live version of the object.
    *
    * [ifMetagenerationMatch] - Makes the operation conditional on whether the
    * destination object's current metageneration matches the given value.
@@ -2171,10 +2176,10 @@
    * destination object's current metageneration does not match the given value.
    *
    * [ifSourceGenerationMatch] - Makes the operation conditional on whether the
-   * source object's generation matches the given value.
+   * source object's current generation matches the given value.
    *
    * [ifSourceGenerationNotMatch] - Makes the operation conditional on whether
-   * the source object's generation does not match the given value.
+   * the source object's current generation does not match the given value.
    *
    * [ifSourceMetagenerationMatch] - Makes the operation conditional on whether
    * the source object's current metageneration matches the given value.
@@ -2305,10 +2310,13 @@
    * object (as opposed to the latest version, the default).
    *
    * [ifGenerationMatch] - Makes the operation conditional on whether the
-   * object's current generation matches the given value.
+   * object's current generation matches the given value. Setting to 0 makes the
+   * operation succeed only if there are no live versions of the object.
    *
    * [ifGenerationNotMatch] - Makes the operation conditional on whether the
-   * object's current generation does not match the given value.
+   * object's current generation does not match the given value. If no live
+   * object exists, the precondition fails. Setting to 0 makes the operation
+   * succeed only if there is a live version of the object.
    *
    * [ifMetagenerationMatch] - Makes the operation conditional on whether the
    * object's current metageneration matches the given value.
@@ -2386,10 +2394,13 @@
    * opposed to the latest version, the default).
    *
    * [ifGenerationMatch] - Makes the operation conditional on whether the
-   * object's generation matches the given value.
+   * object's current generation matches the given value. Setting to 0 makes the
+   * operation succeed only if there are no live versions of the object.
    *
    * [ifGenerationNotMatch] - Makes the operation conditional on whether the
-   * object's generation does not match the given value.
+   * object's current generation does not match the given value. If no live
+   * object exists, the precondition fails. Setting to 0 makes the operation
+   * succeed only if there is a live version of the object.
    *
    * [ifMetagenerationMatch] - Makes the operation conditional on whether the
    * object's current metageneration matches the given value.
@@ -2550,10 +2561,13 @@
    * uploaded.
    *
    * [ifGenerationMatch] - Makes the operation conditional on whether the
-   * object's current generation matches the given value.
+   * object's current generation matches the given value. Setting to 0 makes the
+   * operation succeed only if there are no live versions of the object.
    *
    * [ifGenerationNotMatch] - Makes the operation conditional on whether the
-   * object's current generation does not match the given value.
+   * object's current generation does not match the given value. If no live
+   * object exists, the precondition fails. Setting to 0 makes the operation
+   * succeed only if there is a live version of the object.
    *
    * [ifMetagenerationMatch] - Makes the operation conditional on whether the
    * object's current metageneration matches the given value.
@@ -2792,10 +2806,13 @@
    * opposed to the latest version, the default).
    *
    * [ifGenerationMatch] - Makes the operation conditional on whether the
-   * object's current generation matches the given value.
+   * object's current generation matches the given value. Setting to 0 makes the
+   * operation succeed only if there are no live versions of the object.
    *
    * [ifGenerationNotMatch] - Makes the operation conditional on whether the
-   * object's current generation does not match the given value.
+   * object's current generation does not match the given value. If no live
+   * object exists, the precondition fails. Setting to 0 makes the operation
+   * succeed only if there is a live version of the object.
    *
    * [ifMetagenerationMatch] - Makes the operation conditional on whether the
    * object's current metageneration matches the given value.
@@ -2929,10 +2946,13 @@
    * access.
    *
    * [ifGenerationMatch] - Makes the operation conditional on whether the
-   * destination object's current generation matches the given value.
+   * object's current generation matches the given value. Setting to 0 makes the
+   * operation succeed only if there are no live versions of the object.
    *
    * [ifGenerationNotMatch] - Makes the operation conditional on whether the
-   * destination object's current generation does not match the given value.
+   * object's current generation does not match the given value. If no live
+   * object exists, the precondition fails. Setting to 0 makes the operation
+   * succeed only if there is a live version of the object.
    *
    * [ifMetagenerationMatch] - Makes the operation conditional on whether the
    * destination object's current metageneration matches the given value.
@@ -2941,10 +2961,10 @@
    * destination object's current metageneration does not match the given value.
    *
    * [ifSourceGenerationMatch] - Makes the operation conditional on whether the
-   * source object's generation matches the given value.
+   * source object's current generation matches the given value.
    *
    * [ifSourceGenerationNotMatch] - Makes the operation conditional on whether
-   * the source object's generation does not match the given value.
+   * the source object's current generation does not match the given value.
    *
    * [ifSourceMetagenerationMatch] - Makes the operation conditional on whether
    * the source object's current metageneration matches the given value.
@@ -3210,10 +3230,13 @@
    * opposed to the latest version, the default).
    *
    * [ifGenerationMatch] - Makes the operation conditional on whether the
-   * object's current generation matches the given value.
+   * object's current generation matches the given value. Setting to 0 makes the
+   * operation succeed only if there are no live versions of the object.
    *
    * [ifGenerationNotMatch] - Makes the operation conditional on whether the
-   * object's current generation does not match the given value.
+   * object's current generation does not match the given value. If no live
+   * object exists, the precondition fails. Setting to 0 makes the operation
+   * succeed only if there is a live version of the object.
    *
    * [ifMetagenerationMatch] - Makes the operation conditional on whether the
    * object's current metageneration matches the given value.
@@ -3432,7 +3455,8 @@
       _requester = client;
 
   /**
-   * Get the email address of this project's GCS service account.
+   * Get the email address of this project's Google Cloud Storage service
+   * account.
    *
    * Request parameters:
    *
@@ -4755,8 +4779,8 @@
   /** Content-Language of the object data. */
   core.String contentLanguage;
   /**
-   * Content-Type of the object data. If contentType is not specified, object
-   * downloads will be served as application/octet-stream.
+   * Content-Type of the object data. If an object is stored without a
+   * Content-Type, it is served as application/octet-stream.
    */
   core.String contentType;
   /**
@@ -5362,10 +5386,11 @@
   core.String kind;
   /**
    * The ID of the resource to which this policy belongs. Will be of the form
-   * buckets/bucket for buckets, and buckets/bucket/objects/object for objects.
-   * A specific generation may be specified by appending #generationNumber to
-   * the end of the object name, e.g. buckets/my-bucket/objects/data.txt#17. The
-   * current generation can be denoted with #0. This field is ignored on input.
+   * projects/_/buckets/bucket for buckets, and
+   * projects/_/buckets/bucket/objects/object for objects. A specific generation
+   * may be specified by appending #generationNumber to the end of the object
+   * name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current
+   * generation can be denoted with #0. This field is ignored on input.
    */
   core.String resourceId;
 
diff --git a/generated/googleapis/lib/storagetransfer/v1.dart b/generated/googleapis/lib/storagetransfer/v1.dart
index 82e3151..db18a60 100644
--- a/generated/googleapis/lib/storagetransfer/v1.dart
+++ b/generated/googleapis/lib/storagetransfer/v1.dart
@@ -190,10 +190,6 @@
    *
    * Request parameters:
    *
-   * [pageToken] - The list page token.
-   *
-   * [pageSize] - The list page size. The max allowed value is 256.
-   *
    * [filter] - A list of query parameters specified as JSON text in the form of
    * {"project_id":"my_project_id",
    * "job_names":["jobid1","jobid2",...],
@@ -204,6 +200,10 @@
    * and `job_statuses` are optional.  The valid values for `job_statuses` are
    * case-insensitive: `ENABLED`, `DISABLED`, and `DELETED`.
    *
+   * [pageToken] - The list page token.
+   *
+   * [pageSize] - The list page size. The max allowed value is 256.
+   *
    * Completes with a [ListTransferJobsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -212,7 +212,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListTransferJobsResponse> list({core.String pageToken, core.int pageSize, core.String filter}) {
+  async.Future<ListTransferJobsResponse> list({core.String filter, core.String pageToken, core.int pageSize}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -220,15 +220,15 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
 
     _url = 'v1/transferJobs';
 
@@ -439,6 +439,10 @@
    * [name] - The value `transferOperations`.
    * Value must have pattern "^transferOperations$".
    *
+   * [pageToken] - The list page token.
+   *
+   * [pageSize] - The list page size. The max allowed value is 256.
+   *
    * [filter] - A list of query parameters specified as JSON text in the form of
    * {\"project_id\" : \"my_project_id\", \"job_names\" : [\"jobid1\",
    * \"jobid2\",...], \"operation_names\" : [\"opid1\", \"opid2\",...],
@@ -447,10 +451,6 @@
    * must be specified with array notation. `job_names`, `operation_names`, and
    * `transfer_statuses` are optional.
    *
-   * [pageToken] - The list page token.
-   *
-   * [pageSize] - The list page size. The max allowed value is 256.
-   *
    * Completes with a [ListOperationsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -459,7 +459,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListOperationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+  async.Future<ListOperationsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -470,15 +470,15 @@
     if (name == null) {
       throw new core.ArgumentError("Parameter name is required.");
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
 
     _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
 
@@ -2074,7 +2074,10 @@
    */
   core.String projectId;
   /**
-   * The job to update.
+   * The job to update. `transferJob` is expected to specify only three fields:
+   * `description`, `transferSpec`, and `status`.  An UpdateTransferJobRequest
+   * that specifies other fields will be rejected with an error
+   * `INVALID_ARGUMENT`.
    * Required.
    */
   TransferJob transferJob;
diff --git a/generated/googleapis/lib/streetviewpublish/v1.dart b/generated/googleapis/lib/streetviewpublish/v1.dart
index ea6b58e..0eab26c 100644
--- a/generated/googleapis/lib/streetviewpublish/v1.dart
+++ b/generated/googleapis/lib/streetviewpublish/v1.dart
@@ -519,6 +519,9 @@
    *
    * Request parameters:
    *
+   * [filter] - The filter expression. For example:
+   * `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`.
+   *
    * [pageToken] - The
    * nextPageToken
    * value returned from a previous
@@ -538,9 +541,6 @@
    * - "BASIC" : A BASIC.
    * - "INCLUDE_DOWNLOAD_URL" : A INCLUDE_DOWNLOAD_URL.
    *
-   * [filter] - The filter expression. For example:
-   * `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`.
-   *
    * Completes with a [ListPhotosResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -549,7 +549,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListPhotosResponse> list({core.String pageToken, core.int pageSize, core.String view, core.String filter}) {
+  async.Future<ListPhotosResponse> list({core.String filter, core.String pageToken, core.int pageSize, core.String view}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -557,6 +557,9 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
+    if (filter != null) {
+      _queryParams["filter"] = [filter];
+    }
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
@@ -566,9 +569,6 @@
     if (view != null) {
       _queryParams["view"] = [view];
     }
-    if (filter != null) {
-      _queryParams["filter"] = [filter];
-    }
 
     _url = 'v1/photos';
 
diff --git a/generated/googleapis/lib/vault/v1.dart b/generated/googleapis/lib/vault/v1.dart
index c3afa4d..a2d5a7b 100644
--- a/generated/googleapis/lib/vault/v1.dart
+++ b/generated/googleapis/lib/vault/v1.dart
@@ -839,8 +839,8 @@
 
   /**
    * Lists HeldAccounts for a hold. This will only list individually specified
-   * held accounts. If the hold is on an OU, then use the
-   * <ahref="https://developers.google.com/admin-sdk/">Admin SDK</a>
+   * held accounts. If the hold is on an OU, then use
+   * <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>
    * to enumerate its members.
    *
    * Request parameters:
@@ -1041,8 +1041,8 @@
  */
 class HeldAccount {
   /**
-   * The account's ID as provided by the <a
-   * href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
+   * The account's ID as provided by the
+   * <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
    */
   core.String accountId;
   /** When the account was put on hold. */
diff --git a/generated/googleapis/lib/youtubereporting/v1.dart b/generated/googleapis/lib/youtubereporting/v1.dart
index 4b73fa2..3759afe 100644
--- a/generated/googleapis/lib/youtubereporting/v1.dart
+++ b/generated/googleapis/lib/youtubereporting/v1.dart
@@ -193,10 +193,6 @@
    *
    * Request parameters:
    *
-   * [onBehalfOfContentOwner] - The content owner's external ID on which behalf
-   * the user is acting on. If
-   * not set, the user is acting for himself (his own channel).
-   *
    * [includeSystemManaged] - If set to true, also system-managed jobs will be
    * returned; otherwise only
    * user-created jobs will be returned. System-managed jobs can neither be
@@ -212,6 +208,10 @@
    * requested.
    * If unspecified, server will pick an appropriate default.
    *
+   * [onBehalfOfContentOwner] - The content owner's external ID on which behalf
+   * the user is acting on. If
+   * not set, the user is acting for himself (his own channel).
+   *
    * Completes with a [ListJobsResponse].
    *
    * Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -220,7 +220,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method will complete with the same error.
    */
-  async.Future<ListJobsResponse> list({core.String onBehalfOfContentOwner, core.bool includeSystemManaged, core.String pageToken, core.int pageSize}) {
+  async.Future<ListJobsResponse> list({core.bool includeSystemManaged, core.String pageToken, core.int pageSize, core.String onBehalfOfContentOwner}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -228,9 +228,6 @@
     var _downloadOptions = commons.DownloadOptions.Metadata;
     var _body = null;
 
-    if (onBehalfOfContentOwner != null) {
-      _queryParams["onBehalfOfContentOwner"] = [onBehalfOfContentOwner];
-    }
     if (includeSystemManaged != null) {
       _queryParams["includeSystemManaged"] = ["${includeSystemManaged}"];
     }
@@ -240,6 +237,9 @@
     if (pageSize != null) {
       _queryParams["pageSize"] = ["${pageSize}"];
     }
+    if (onBehalfOfContentOwner != null) {
+      _queryParams["onBehalfOfContentOwner"] = [onBehalfOfContentOwner];
+    }
 
     _url = 'v1/jobs';